VB6 mit MYSQL-DB verbinden

Hallo Leute!

Ich versuche seit Stunden in VB6 ein klitzekleines Programm zu schreiben, welches lediglich den einzigen Datensatz aus der Test-DB auslesen soll.

Das Programm läuft auf „Apollo“ (besser: soll laufen), auf dem anderen Rechner läuft MYSQL.
Die ODBC-Verbindung ist eingerichtet und funktioniert wohl auch; ich bekomme jedenfalls ein „OK“ und keinen Fehler angezeigt.

Das Problem liegt im Verbindungsaufbau selber!

Hier mein Codeschnipsel (in dem aber etwas wichtiges fehlt, dazu weiter unten mehr)

Private Sub Form\_Load()

 Const cstrServer As String = "MERCURY"
 Const cstrDBName As String = "Test"

 Dim strConn As String
 Dim strUserName As String
 Dim strPassword As String

 ' Benutzerdaten 
 strUserName = "root" 'Bitte keine Kommentare dazu :wink:
 strPassword = "1" 'Bitte keine Kommentare dazu :wink:

 ' Connection-String festlegen
 strConn = "Provider=MSDASQL;Driver=MySQL ODBC 3.51 Driver;" & "Server=" & cstrServer & ";Database=" & cstrDBName


 ' Connection öffnen
 Set Conn = New Connection
 Verbindung.Open strConn, strUserName, strPassword
End Sub

Was ihr wohl sofort erkannt habt ist, das ein Konstrukt wie „Dim Verbindung As Connection“ fehlt.
Genau der Teil ist es ja, der mich zur Verzweiflung bringt, da ich die Fehlermeldung „Benutzerdefinierter Typ nicht definiert“ erhalte.

Googlen und Kofler lesen haben mir bisher auch nicht weitergeholfen.
„Dim Verbindung As New Connection“ bringt die gleiche Fehlermeldung.

Beim googlen wurde ich von Seiten erschlagen (kennt man ja) und fand dort die Variation „Dim Conn As New ADODB.Connection“.
Die Fehlermeldung ist die gleiche.

Dabei ist es völlig egal, ob ich das als „Dim Verbindung …“ in die Prozedur oder als „Public Verbindung…“ in das Modul schreibe.

Ich verzweifel hier völlig und hoffe auf Eure Hilfe, sonst kann ich bald einen „Schreibtisch mit Bissmarken“ bei E**Y verscheuern. *FG*

Vielen lieben Dank schon jetzt!

Ute

P.S.:
Warum gibt es eigentlich keine VB-FAQ? Meine Frage dürfte doch wohl recht häufig gestellt werden, oder?
In den Datenbank-FAQ wurde ich auch nicht fündig :frowning:

Hallo Leute!

Hi,
hast du die „Active Data Objects 2.x Library“ als Verweis ausgewählt?
Dann im Quelltext:
Dim Conn as ADODB.Connection
Set Conn=New ADODB.Connection
Gruß.Timo

Ich versuche seit Stunden in VB6 ein klitzekleines Programm zu
schreiben, welches lediglich den einzigen Datensatz aus der
Test-DB auslesen soll.

Das Programm läuft auf „Apollo“ (besser: soll laufen), auf dem
anderen Rechner läuft MYSQL.
Die ODBC-Verbindung ist eingerichtet und funktioniert wohl
auch; ich bekomme jedenfalls ein „OK“ und keinen Fehler
angezeigt.

Das Problem liegt im Verbindungsaufbau selber!

Hier mein Codeschnipsel (in dem aber etwas wichtiges fehlt,
dazu weiter unten mehr)

Private Sub Form_Load()

Const cstrServer As String = „MERCURY“
Const cstrDBName As String = „Test“

Dim strConn As String
Dim strUserName As String
Dim strPassword As String

’ Benutzerdaten
strUserName = „root“ 'Bitte keine Kommentare dazu :wink:
strPassword = „1“ 'Bitte keine Kommentare dazu :wink:

’ Connection-String festlegen
strConn = „Provider=MSDASQL;Driver=MySQL ODBC 3.51
Driver;“ & „Server=“ & cstrServer & „;Database=“ & cstrDBName

’ Connection öffnen
Set Conn = New Connection
Verbindung.Open strConn, strUserName, strPassword
End Sub

Was ihr wohl sofort erkannt habt ist, das ein Konstrukt wie
„Dim Verbindung As Connection“ fehlt.
Genau der Teil ist es ja, der mich zur Verzweiflung bringt, da
ich die Fehlermeldung „Benutzerdefinierter Typ nicht
definiert“ erhalte.

Googlen und Kofler lesen haben mir bisher auch nicht
weitergeholfen.
„Dim Verbindung As New Connection“ bringt die gleiche
Fehlermeldung.

Beim googlen wurde ich von Seiten erschlagen (kennt man ja)
und fand dort die Variation „Dim Conn As New
ADODB.Connection“.
Die Fehlermeldung ist die gleiche.

Dabei ist es völlig egal, ob ich das als „Dim Verbindung …“
in die Prozedur oder als „Public Verbindung…“ in das Modul
schreibe.

Ich verzweifel hier völlig und hoffe auf Eure Hilfe, sonst
kann ich bald einen „Schreibtisch mit Bissmarken“ bei E**Y
verscheuern. *FG*

Vielen lieben Dank schon jetzt!

Ute

P.S.:
Warum gibt es eigentlich keine VB-FAQ? Meine Frage dürfte doch
wohl recht häufig gestellt werden, oder?
In den Datenbank-FAQ wurde ich auch nicht fündig :frowning:

Hallo Timo.

hast du die „Active Data Objects 2.x Library“ als Verweis
ausgewählt?

Nein, habe ich nicht (glaube ich).
In den Komponenten finde ich die auch nicht. Nicht einmal etwas, das auch nur entfernt Ähnlichkeit damit hätte.

Und nun?

Liebe Grüße,
Ute

JUHU… scheint zu funktionuckeln!!!
Hallo nochmal!

Ok, mit der Suche in den Komponenten war ich völlig auf dem Holzweg.
Nach kurzem googlen bin ich dann unter Projekt -> Verweise fündig geworden.

„Microsoft Active Data Objects 2.0 Library“ (inaktiv)
„Microsoft Active Data Objects 2.1 Library“ (inaktiv)
„Microsoft Active Data Objects 2.5 Library“ (inaktiv)

Ich habe dann einfach mal die 2.5 aktiviert, deine DIM und SET-Codeschnipsel eingefügt, das „Conn“ durch (meine) Verbindung ersetzt und es scheint zu funzen!!! Jedenfalls bekomme ich keine Fehlermeldung (bis jetzt).

Na, dann werde ich mich mal über das auslesen hermachen :smile:

Habe vielen lieben Dank!

Grüße an die Runde!

Ute