VBA/MySQL-Problem mit ODBC-Anschluss
Ich habe zu kämpfen mit diesem für ein paar Tage jetzt. Jede Hilfe sehr geschätzt.
Versucht, eine Verbindung zu der MySQL-Datenbank mit Excel-VBA, die auf einem PC mit den folgenden:
Excel 2007
Windows 7 x64 Home Premium
MySQL 5.5
MySQL-ODBC-Connector 5.1, 64-bit -
In der Excel-VBA habe ich referenzierte Microsoft ActiveX Objects 2.8 Library.
VBA bin ich mit dem zu verbinden ist:
Dim oConn As ADODB.Connection
Public Sub ConnectDB()
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & "SERVER=localhost;" & "DATABASE=test;" & "USER=root;" & "PASSWORD=PWhere;" & "Option=3"
End Sub
Jedes mal, wenn ich diesen starte, bekomme ich die Meldung: "[Microsoft][ODBC Driver Manager] name der Datenquelle nicht gefunden und kein Standardtreiber angegeben"
MySQL-Dienst ist auf jeden Fall gestartet.
Habe ich verwendet, Windows-Datenquellen-Administrator, um zu überprüfen, dass die MySQL-ODBC-Connector 5.1 ist vorhanden und korrekt: es ist, checkt OK, wenn ich versuche, um einen DSN zu erstellen, die in dieser Art und Weise.
Blick durch das VBA-Projekt-Referenz-Optionen, die ich beachten Sie die Optionen zum verweisen auf eine ganze Reihe von verschiedenen ADO-Bibliotheken, einschließlich (Multi-dimensional) Optionen und library-Versionen 2.0,2.1,2.5,2.6,2.7, und 6.0 - vielleicht die Antwort liegt in einer von diesen?
Mehr details benötigt, lasst es mich wissen.
- Nie arbeitete mit 64 bit, so bin ich nicht sicher, ob dieser link wird Ihnen helfen, aber haben einen Blick und sehen, ob es hilft? vbforums.com/showthread.php?t=619916
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie entweder die 32-oder 64-bit-version, je nach version von Excel, nicht Windows. Selbst wenn Sie also mit Windows 7 64 bit, ich glaube, in Excel 2007 kommt nur in 32 bit, so würden Sie brauchen, um verwenden Sie die 32-bit-mysql-connector.
Siehe auch diese bug-report, die ähnlich ist zu deinem Problem.
Bekam ich ähnliche Meldung, auch wenn Sie bewegt meine Anwendung auf anderen system mit anderen version der Treiber - es sieht aus wie falsch geschriebene Fahrernamen bewirkt, dass identische Nachricht. Zu finden richtigen Treiber Namen machen und Anwendung Treiber-unabhängige version ich verwende den folgenden code: