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

使用pypyodbc连接Access数据库报错:未指定默认驱动程序

解决Access数据导入Python时的「未指定默认驱动程序」错误

我帮你排查一下这个问题,通常是驱动名称格式不对、位数不匹配或者驱动未安装导致的,一步步来解决:

1. 修正ODBC驱动名称的格式

你连接字符串里的驱动名称少了关键的空格,正确的写法应该是{Microsoft Access Driver (*.mdb)}(注意Driver和(*.mdb)之间的空格)。如果你的Access文件支持.accdb格式,也可以用更通用的{Microsoft Access Driver (*.mdb, *.accdb)}。

修正后的连接字符串示例:

import pypyodbc

# 用原始字符串避免路径转义问题
con = pypyodbc.connect(
    r'DRIVER={Microsoft Access Driver (*.mdb)};'
    r'UID=admin;'
    r'DBQ=C:/Users/climate1/Documents/Test/dogs1.mdb;'
)
cursor = con.cursor()
# 这里可以继续写你的查询逻辑,比如:
# cursor.execute("SELECT * FROM 你的表名")
# 用完记得关闭连接
# con.close()

2. 检查Python与Access ODBC驱动的位数匹配

这个是常见的坑:

  • 如果你的Python是64位版本,必须安装64位的Access ODBC驱动;如果是32位Python,只能用32位驱动,两者位数不匹配就会报驱动找不到的错误。
  • 查看Python版本:打开命令行运行python --version,输出里会标注32-bit或64-bit。
  • 检查已安装的驱动:
    • 64位系统打开64位ODBC管理器:C:\Windows\System32\odbcad32.exe
    • 32位驱动要打开32位管理器:C:\Windows\SysWOW64\odbcad32.exe
      切换到「驱动程序」标签页,看看有没有对应版本的Microsoft Access Driver。

3. 安装缺失的Access ODBC驱动

如果上面步骤里没找到对应的驱动,需要安装Microsoft Access Database Engine:

  • 根据你的Python和Office位数(如果装了Office的话,驱动位数必须和Office一致),下载对应版本的「Microsoft Access Database Engine Redistributable」安装即可。

额外注意点

  • 连接字符串里的路径可以用原始字符串(加r前缀)或者双反斜杠\\,避免转义字符引发的问题。
  • 如果你的Access数据库设置了密码,需要在连接字符串里加上PWD=你的密码;。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:22:47