5

几天来,我一直在反对这一点。我正在尝试使用 pyodbc 连接到 Microsoft Access DB,但我似乎无法正确获取连接字符串或其他东西。这就是我正在使用的:

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 回答