Pyodbc - 指定的DSN包含驱动程序和应用程序

时间:2016-05-01 10:28:37

标签: python odbc ms-access-2010 32bit-64bit pyodbc

我正在尝试通过python连接到MS Access数据库(.accdb文件)。

我用pyodbc来做这个连接:

import pyodbc
conn = pyodbc.connect("DRIVER = {Microsoft Access Driver (*.mdb, *.accdb)}; DBG=C:\\test_db.accdb")

但是,我收到以下错误:

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

我去了ODBC数据源管理员,当我尝试配置或删除驱动程序时,我收到了消息:

Errors Found:
The specified DSN contains an architecture mismatch between the Driver and Application

我发现此错误是由Windows版本(Windows 7 - 64位)和Microsoft Access(Office 2010 - 32位)之间的不兼容引起的。 我尝试重新安装驱动程序几次,包括32位和64位版本,但问题没有解决。 你能帮我解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

您必须确保Python版本与ODBC驱动程序版本匹配:32位,32位,64位,64位。

看起来你有64位Python / pyodbc和32位MS Access。

您需要做的是安装32位Python版本,然后安装pyodbc

祝你好运!