python - Pyodbc - 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

标签 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 位版本,但问题没有解决。 你能帮我解决这个问题吗?提前谢谢你。

最佳答案

您必须确保 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/

相关文章:

python - pandas dataframe的高效读写

windows-7 - MS Access 2010 子报告运行良好,但主报告卡住,仅适用于用户,不适用于开发。为什么,以及如何解决?

python - 从 numpy.argmax 结果中提取 numpy 数组切片

Python 多个用户同时追加到同一个文件

mysql - ADODB.Command 错误 odbc mysql ASP(Classic not .net)

mysql - 插入或更新(无键)

java - 从ODBC中找不到配置单元类路径

html - 通过VBA访问富文本到Word : Formatting Ignored and Added Linebreak

vba - 在 VBA 中使用 findfirst 条件搜索多个字段访问

python - 为什么要创建第二个图而不是填充第二个子图?