Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SQL Server Connection String für VBA Script

SQL Server Connection String für VBA Script
11.10.2013 09:34:54
Thorsten
Hallo zusammen,
ich habe ein kleines Problem und komme leider nicht so recht weiter. Ich möchte aus Excel heraus einige SQL Statements an unseren SQL Server 2005 geben. Dafür habe ich den ODBC Treiber bereits installiert der auch erfolgreich getestet wurde.
Um den SQL Server via VBA aufzurufen nutze ich folgenden Connection String: strconnectstr68 = "Data Source=192.168.xxx.xx,1433;Network Library=DBMSSOCN;Initial Catalog=navxxxx;User ID=tsxxxxx;Password=Mxxxxxxx"
Leider bekomme ich beim Aufruf einen Fehler: "Benutzerdefinierter Typ nicht definiert". Welchen Verweis muss ich dafür aktivieren.
Vielen Dank vorab.
Gruss Thorsten

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL Server Connection String für VBA Script
11.10.2013 11:21:07
Marcel
Hallo Thorsten,
probiere doch mal: im Menü “Verweise” der Verweis “Microsoft ActiveX data Object”
Grüße Marcel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

SQL Server Connection String für VBA Script


Schritt-für-Schritt-Anleitung

Um eine Verbindung zu einem SQL Server über VBA herzustellen, folge diesen Schritten:

  1. ODBC-Treiber installieren: Stelle sicher, dass der ODBC-Treiber für SQL Server installiert ist.

  2. Verweis aktivieren: Gehe in Excel zu Entwicklertools > Visual Basic > Extras > Verweise und aktiviere den Microsoft ActiveX Data Objects Verweis.

  3. Connection String erstellen: Verwende folgenden Beispiel-Connection String, um die Verbindung aufzubauen:

    Dim strconnectstr As String
    strconnectstr = "Data Source=192.168.xxx.xx,1433;Network Library=DBMSSOCN;Initial Catalog=navxxxx;User ID=tsxxxxx;Password=Mxxxxxxx"
  4. Verbindung herstellen: Nutze den Connection String, um eine Verbindung zu erstellen:

    Dim conn As Object
    Set conn = CreateObject("ADODB.Connection")
    conn.Open strconnectstr
  5. SQL-Befehle ausführen: Nach der erfolgreichen Verbindung kannst du SQL-Befehle ausführen.


Häufige Fehler und Lösungen

Ein häufiger Fehler, der auftreten kann, ist die Fehlermeldung "Benutzerdefinierter Typ nicht definiert". Dies tritt häufig auf, wenn der benötigte Verweis nicht aktiviert wurde. Stelle sicher, dass der Microsoft ActiveX Data Objects Verweis in den Excel-Einstellungen aktiviert ist.

Ein weiterer Fehler könnte ein falscher Connection String sein. Überprüfe den Connection String sorgfältig auf Tippfehler und die korrekte Angabe von Data Source, Initial Catalog, User ID und Password.


Alternative Methoden

Wenn du Schwierigkeiten hast, eine Verbindung über ODBC herzustellen, kannst du auch den OLE DB-Provider verwenden. Ein Beispiel für einen OLE DB Connection String könnte folgendermaßen aussehen:

strconnectstr = "Provider=SQLOLEDB;Data Source=192.168.xxx.xx,1433;Initial Catalog=navxxxx;User ID=tsxxxxx;Password=Mxxxxxxx"

Diese Methode kann in einigen Fällen stabiler sein und ist eine gute Alternative zur ODBC-Verbindung.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mit VBA eine SQL-Abfrage durchführen kannst:

Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")

Dim strSQL As String
strSQL = "SELECT * FROM DeineTabelle"

rs.Open strSQL, conn

Do While Not rs.EOF
   Debug.Print rs.Fields(0).Value
   rs.MoveNext
Loop

rs.Close
Set rs = Nothing

In diesem Beispiel wird eine Tabelle abgerufen und die Werte im Direktfenster ausgegeben.


Tipps für Profis

  • Verwendung von Umgebungsvariablen: Speichere sensible Informationen wie Benutzername und Passwort nicht im Code. Verwende Umgebungsvariablen oder sichere Speicherorte.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um mögliche Verbindungsprobleme sauber zu erfassen. Beispiel:

    
    On Error GoTo ErrorHandler
    conn.Open strconnectstr
    Exit Sub

ErrorHandler: MsgBox "Fehler bei der Verbindung: " & Err.Description


- **Performanceoptimierung**: Achte darauf, nur die benötigten Daten abzurufen, um die Performance zu verbessern.

---

#### FAQ: Häufige Fragen {#id6}

**1. Was ist ein Connection String?**  
Ein Connection String ist eine Zeichenfolge, die alle Informationen enthält, die benötigt werden, um eine Verbindung zu einer Datenbank herzustellen.

**2. Wie kann ich die Verbindung zu einem SQL Server ohne Benutzername und Passwort herstellen?**  
Du kannst die Windows-Authentifizierung verwenden, indem du den Connection String entsprechend anpasst:

```vba
strconnectstr = "Data Source=192.168.xxx.xx,1433;Initial Catalog=navxxxx;Integrated Security=SSPI;"

3. Welche Excel-Version benötige ich für die ODBC-Verbindung?
Die ODBC-Verbindung funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und höher.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige