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

pyodbc连接Python与Access数据库时找不到对应驱动如何解决

现有列出的三个驱动均无法用于连接Access数据库,这三个分别是SQL Server、PostgreSQL的专属驱动,和Access的mdb/accdb文件格式完全不兼容。

驱动无法识别的常见解决方法

驱动装了但pyodbc扫不到,90%以上是位数不匹配或者Office组件冲突导致的,按以下顺序排查:

  • 先确认当前Python环境的位数,执行以下代码即可查看:
    import struct
    print(struct.calcsize("P") * 8)
    
    输出32代表32位Python,必须安装32位Access驱动;输出64代表64位Python,必须对应安装64位Access驱动,位数不一致时pyodbc无法扫描到对应驱动。
  • 如果本机已安装即点即用版本的Office(含微软商店版Office、默认渠道安装的Microsoft 365),直接运行Access驱动安装包大概率会出现“安装成功但实际未写入注册表”的问题,此时无需卸载Office,用命令行加静默参数启动安装包跳过冲突检测即可:
    打开命令提示符,进入驱动安装包所在目录,执行对应命令:
    :: 64位安装包示例
    AccessDatabaseEngine_X64.exe /quiet
    :: 32位安装包示例
    AccessDatabaseEngine.exe /quiet
    
    安装完成后重启Python终端,再执行pyodbc.drivers()即可看到Microsoft Access Driver (*.mdb, *.accdb)项。
  • 若上述操作后仍看不到驱动,打开对应位数的ODBC数据源管理器核查:64位管理器路径为C:\Windows\System32\odbcad32.exe,32位管理器路径为C:\Windows\SysWOW64\odbcad32.exe,切换到「驱动」选项卡,如果列表中没有Access相关驱动,说明驱动本身未安装成功,和pyodbc配置无关。
连接测试

驱动识别正常后,用以下代码测试连接,替换DBQ参数为你的Access文件实际路径即可:

import pyodbc
conn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\your_database_file.accdb;')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:54:03