【问题标题】:pyodbc error of data source name not found or no default driver on 64-bit PC在 64 位 PC 上找不到数据源名称的 pyodbc 错误或没有默认驱动程序
【发布时间】:2013-07-28 17:07:48
【问题描述】:

在获得一台 64 位的新计算机后,当我在 32 位计算机上运行可以正常连接的 Python 脚本时遇到以下错误。我正在尝试连接到 Access 数据库。我正在使用 64 位版本的 python 和 pyodbc

错误信息: pyodbc.Error: ('IM002', '[IMO] [Microsoft] [ODBC Driver Manager] Data source name not found and no default driver specified

我使用的连接代码在 32 位 PC 上运行良好:

cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=managermeta.mdb; Provider=MSDASQL;')

【问题讨论】:

    标签: python-2.7 pyodbc


    【解决方案1】:

    here 下载 64 位 Office 2010 驱动程序。我只能使用 Access 2010 数据库进行测试,但它也应该适用于 2007。您不需要连接字符串的Provider 属性。

    cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=managermeta.mdb;')
    

    【讨论】:

    • 感谢小熊的回答。我之前确实尝试过下载这个,然后现在又下载了。它不会让我安装,因为我的电脑上安装了 32 位版本的 office。所以这可能是我的问题,对吧?如果是这样,如果我的公司允许的话,我会尝试在我的 PC 上安装 64 位版本的 Office。
    • @wilbev 如果您想尝试并行安装 32 位和 64 位 Office 驱动程序,请参阅 this SO answer
    • 根据您的提示,我成功地安装了 64 位版本的 Office 驱动程序,但我的脚本中仍然出现同样的错误。我已经尝试通过输入硬文件夹路径来连接到 mdb 文件,所以我仍然不知道为什么它不会在我的脚本中连接。
    • 我下载并安装了 32 位驱动程序,之后我的代码就像一个魅力一样运行。谢谢!
    猜你喜欢
    • 2013-04-23
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 2018-11-25
    • 2016-09-06
    • 1970-01-01
    相关资源
    最近更新 更多