You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用pypyodbc连接.accdb文件失败,报IM002错误求助

解决Microsoft Access .accdb连接失败(IM002错误)的问题

这个错误核心是ODBC驱动管理器找不到你指定的Access驱动,下面是一步步的排查和解决方法:

1. 确认Access ODBC驱动已安装,且位数与Python匹配

ODBC驱动分32位和64位,必须和你的Python版本完全对应,这是最常见的出错原因:

  • 如果你的Python是64位:需要安装64位的Microsoft Access ODBC驱动,可直接安装免费的Microsoft Access Runtime(无需完整Office),选择对应64位版本。
  • 如果你的Python是32位:则要安装32位的Access Runtime或Office。

想快速确认Python位数?打开Python终端运行以下代码:

import sys
print(sys.maxsize > 2**32)  # 返回True是64位,False是32位

2. 验证驱动名称是否正确

不同Office/Runtime版本的驱动名称可能略有差异,你可以通过ODBC数据源管理器确认:

  • 64位系统下查看64位驱动:打开C:\Windows\System32\odbcad32.exe
  • 查看32位驱动(无论系统位数):打开C:\Windows\SysWOW64\odbcad32.exe

进入后切换到「驱动程序」标签,找到类似Microsoft Access Driver (*.mdb, *.accdb)的条目,把这个名称完全复制到你的连接字符串里,确保没有拼写错误或多余空格。

3. 检查数据库文件路径是否正确

连接字符串里的DBQ参数必须指向正确的文件路径:

  • 如果数据库和脚本在同一目录,确认文件名无拼写错误(比如有没有把.accdb写成.mdb)
  • 优先使用绝对路径避免相对路径的坑,例如:
    r'DBQ=C:\Users\YourName\Documents\file.accdb;'
    

4. 尝试换用pyodbc替代pypyodbc

pypyodbc的兼容性可能不如pyodbc,你可以试试这个方案:
先安装pyodbc:

pip install pyodbc

然后用以下代码连接:

import pyodbc
conn = pyodbc.connect(
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
    r'DBQ=C:\full\path\to\file.accdb;'
)
cur = conn.cursor()

额外注意事项

  • 确保数据库文件没有被其他程序锁定(比如Access客户端正在打开该文件)
  • 如果是企业环境,可能需要联系管理员确认ODBC驱动的安装权限

内容的提问来源于stack exchange,提问作者sshussain270

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:35:37