Eine Verbindung zu MS Access 2007 (.accdb) Datenbank mit pyodbc

Bin ich auf Win7 x64, mit Python 2.7.1 x64. Ich bin Portierung einer Applikation erstellte ich in VC++ zu Python für pädagogische purpouses.

Die ursprüngliche Anwendung hat kein problem mit der Anbindung an die MS-Access-2007-format DB-Datei, indem Sie die folgende Verbindungszeichenfolge:

OleDbConnection^ conn = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|DB.accdb");

Wenn ich jetzt versuche, die Verbindung zu dem DB-Datei (in C:\ diese Zeit) in Python mithilfe von pyodbc und die folgenden conenction string:

conn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\DB.accdb;")

und egal, ob ich die OLE DB-provider oder nutze ich die Provider=MSDASQL; wie bereits erwähnt hier (MS erwähnt, es ist nicht möglich für 64bit), bekomme ich immer die folgende Fehlermeldung:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnectW)')

Was könnte dieses problem verursachen?

HINZUFÜGEN:
Ich habe mir in pyodbc docs genauer an und versuchte conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c:\\DB.accdb;") - der gleiche Fehler. Das ist wirklich seltsam, da die pyodbc.dataSources() zeigt an, dass ich diesen Anbieter.

ADD2:
Ich habe versucht, win32com.client-Nutzung wie hier, um zu einer Verbindung mit der OLE DB - kein Erfolg. Scheint, dass es unmöglich ist, nichts funktioniert.

InformationsquelleAutor havelock | 2011-06-18
Schreibe einen Kommentar