5

私はこれに対して数日間頭を殴っています。pyodbcを使用してMicrosoftAccessDBに接続しようとしていますが、接続文字列を正しく取得できないようです。これは私が使用しているものです:

cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Path\to\file.accdb')

エラーが発生し続けます:

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

実行すると、次のようdataSources()に表示されます。

{'MS Access Database': 'Microsoft Access Driver (*.mdb, *.accdb)', 'dBASE Files': 'Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)', 'Excel Files': 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)'}

ここで私がひどく見逃しているものはありますか?

4

2 に答える 2

6

これは 64 ビットの問題です。32 ビットの python と pyodbc を使用して解決しました。

于 2011-11-09T00:09:56.437 に答える
1

追加してみてくださいProvider=MSDASQL非推奨ですが、正常に機能しているようです。

cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};
DBQ=C:\Path\to\file.accdb; Provider=MSDASQL;')
于 2010-12-28T21:22:01.860 に答える