32-bit-pyodbc Lesen 64 bit access (accdb)
Ich habe python 2.7 32 bit läuft auf einer Windows 8.1 64-bit-Computer.
Ich habe Access 2013 und eine .accdb-Datei, die ich versuche, auf die von python pyodbc.
Kann ich eine 64-bit-DSN in der 64-bit ODBC-manager. Jedoch, wenn ich versuche zu verbinden, um es von python, bekomme ich die Fehlermeldung:
Error: (u'IM002', u'[IM002] [Microsoft][ODBC Driver Manager] name der Datenquelle nicht gefunden und kein Standardtreiber angegeben")
Vermutlich python ist nur für 32-bit-DSNs und nicht die 64-bit-Version, die ich erstellt habe.
Wenn ich versuchen, erstellen Sie eine 32-bit-DSN im 32-bit ODBC-manager, es gibt keine Treiber für eine accdb-Datei (nur .mdb).
Ich glaube, ich brauche einen 32-bit ODBC-Treiber für Access-2013-Dateien (.accdb), aber nicht in der Lage, einen zu finden.
Ist es möglich, das zu tun, was ich versuche zu tun? -- 32bit python den Zugriff auf eine Access 2013 .accdb Datei?
Du musst angemeldet sein, um einen Kommentar abzugeben.
32-bit-Anwendungen, einschließlich Anwendungen in Python arbeiten kann, nur mit der 32-bit-ODBC-Treiber.
64-bit-Anwendungen, einschließlich Anwendungen in Python arbeiten kann nur mit 64-bit-ODBC-Treiber.
Wenn Sie haben:
pyodbc
ModulDann müssen Sie etwas ändern:
odbc
- Modul), dann können Sie 64-bit-version vonpyodbc
Modul (ich sehe es für Python 2.6, 2.7 und 3.3)Mit
pyodbc.dataSources()
können Sie eine Liste der ODBC-Quellen:Wenn Sie ActiveState Python, dann können Sie die Liste mit
odbc
Modul wie in meinem Rezept: http://code.activestate.com/recipes/578782-printing-list-of-odbc-data-sources/?in=user-186902Hatte ich das gleiche Problem. Für mich war das problem, dass ich 32 python und 32-bit-pyodbc-und 32-bit MS Access. Aber die pyqt-Anwendung erstellt ich würde nicht auf Rechnern mit 64-bit-Zugriff.
Meine Lösung war das installieren der 32-bit-Access-Treiber (wie erwähnt von Mikal) finden Sie hier... http://www.microsoft.com/en-us/download/details.aspx?id=13255
an der Eingabeaufforderung mithilfe der "/passive" - option. Sonst wäre es nicht installieren.
Beispielsweise
C:\Downloads\AccessDatabaseEngine.exe /passive
Der Treiber ist installiert und nun können meine Anwendung funktioniert auf dem host-computer, ohne Frage.
Kann es Probleme mit der sowohl die 32-bit-und 64-bit-Access-Treiber installiert wird. Bisher habe ich keine gesehen.
Trial-and-error zeigte, dass das installieren der "Access Database Engine" 2007 schien zum erstellen von 32-bit-ODBC-Quelle für Access-accdb-Dateien.