无法使用pyodbc连接到Access DB

时间:2010-12-28 19:42:35

标签: ms-access pyodbc

我几天来一直在反对这一点。我正在尝试使用pyodbc连接到Microsoft Access数据库,我似乎无法获得正确的连接字符串。这就是我正在使用的:

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)'}

我有什么东西在这里严重失踪吗?

2 个答案:

答案 0 :(得分:6)

这是64位问题。我通过使用32位python和pyodbc来解决它。

答案 1 :(得分:1)

尝试添加Provider=MSDASQL。这是deprecated,但似乎工作正常:

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