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

使用pyodbc打开Jet Access数据库时遭遇无效密码错误(-1905)

解决pyodbc打开无密码Access数据库提示“无效密码”的问题

可行解决方案:

  • 检查Python与Access驱动的位数匹配
    Access驱动分32位和64位版本,Python运行环境的位数必须和驱动完全一致:

    • 64位Python需搭配64位Microsoft Access Database Engine
    • 32位Python需搭配32位版本
      位数不匹配会导致驱动识别异常,触发无意义的密码错误提示。
  • 切换为OLEDB连接方式
    放弃ODBC驱动,改用ACE OLEDB驱动连接,示例代码:

    import pyodbc
    db_path = "你的数据库文件路径"
    conn_str = (
        r"Provider=Microsoft.ACE.OLEDB.12.0;"
        rf"Data Source={db_path};"
        r"Persist Security Info=False;"
    )
    conn = pyodbc.connect(conn_str)
    

    若为旧版Jet格式(.mdb),可尝试替换驱动为Provider=Microsoft.Jet.OLEDB.4.0;,注意该驱动仅支持32位环境。

  • 调整ODBC连接字符串参数
    尝试移除Exclusive=No参数,或添加Persist Security Info=False,修改后的连接字符串示例:

    conn_str = (
        r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
        rf"DBQ={db_path};"
        r"Persist Security Info=False;"
    )
    
  • 验证数据库文件路径与状态
    将数据库文件复制到不含中文、空格或特殊符号的本地路径后再尝试连接,避免路径字符导致的驱动解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 15:17:27