我正在尝试通过 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 位版本,但问题没有解决。 你能帮我解决这个问题吗?提前谢谢你。
最佳答案
您必须确保 Python 版本与 ODBC 驱动程序版本匹配:32 位与 32 位、64 位与 64 位。
看起来您有 64 位 Python/pyodbc 和 32 位 MS Access。
您需要做的是安装 32 位 Python 版本,然后安装 pyodbc
。
祝你好运!
关于python - Pyodbc - 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36965600/