FAQ 0031: Wie verbinde ich meine Anwendung mit einer MySQL-Datenbank?
von Helge Rex
Frage
Wie verbinde ich meine Anwendung mit einer MySQL-Datenbank?
Antwort
Bei ActiveVB gibt es ein paar Tutorials, die unbedingt gelesen werden sollten:
Der große ADO-Kurs, ADO, DB-Programmierung, MySQL-Datenbanken
Für das nachfolgende Beispiel wird angenommen, daß der MySQL-ODBC-Treiber in der Version 3.51.x installiert wurde . Ist Version 3.51.11 oder neuer installiert, ist das passwortgeschützte Verbinden auf einen MySQL-Server der Version 4.1 oder neuer möglich.
Const FLAG_FIELD_LENGTH As Long = 1 ' Don't Optimize Column Width Const FLAG_FOUND_ROWS As Long = 2 ' Return Matching Rows Const FLAG_NO_BIGINT As Long = 16384 ' Change BIGINT Columns to INT ' Wichtige MyODBC-Optionen Const cintOption As Long = FLAG_FIELD_LENGTH Or _ FLAG_FOUND_ROWS Or _ FLAG_NO_BIGINT ' Servername Const cstrMySQLSvr As String = "localhost" ' Name der Datenbank Const cstrDatabase As String = "testdb" ' Port, an dem der DB-Server lauscht (Leerstring für Standard) Const cstrPort As String = vbNullString ' Benutzername Const cstrUsername As String = "testuser" ' Kennwort Const cstrPassword As String = "testpwd" ' Datenbank-Objekt Dim DB As ADODB.Connection ' Hilfsvariable Dim strConnection As String ' Connection-String setzen strConnection = "Provider=MSDASQL.1; " & _ "Driver={MySQL ODBC 3.51 Driver}; " & _ "Server=" & cstrMySQLSvr & "; " & _ "Port=" & cstrPort & "; " & _ "Database=" & cstrDatabase & "; " & _ "UID=" & cstrUsername & "; " & _ "PWD=" & cstrPassword & "; " & _ "Option=" & CStr(cintOption) & "; " ' Datenbank-Objekt anlegen Set DB = New ADODB.Connection ' Datenbank öffnen With DB .Mode = adModeShareDenyNone Call .Open(strConnection) Debug.Print .ConnectionString Call .Close End With ' Datenbank-Objekt entfernen Set DB = Nothing
Den Treiber kann man hier herunterladen:
- http://dev.mysql.com/downloads/connector/odbc/3.51.html
- ftp://ftp.fu-berlin.de/unix/databases/mysql/Downloads/MyODBC3/
Bitte beachten Sie auch FAQ 0097: 'Fehler bei einem aus mehreren Schritten bestehendem Vorgang' bei MySQL
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.