首页 文章

使用64位Python 3.6.ODBC驱动程序错误无法连接到64位MsAccess数据库

提问于
浏览
0

我刚刚在一台新电脑上安装了64位微软办公室,并安装了64位python 3.6 .

我正在尝试使用我的python脚本连接到访问数据库,但是我一直收到以下错误,这表明我有32位ODBC驱动程序而不是64位驱动程序?

关于如何连接而不必安装32位MS Office和32位Python的任何想法?

这是我收到的错误消息:

cnxn = pyodbc.connect(connstr)pyodbc.Error:('IM002','[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序(0)(SQLDriverConnect)')

这是我的代码:

import pyodbc
connStr = (
          r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
          r"DBQ=C:\Documents\Test.accdb;"
          )
cnxn = pyodbc.connect(connStr)
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM Test")

1 回答

  • 3

    我个人没有处理过64位MS Office应用程序或驱动程序,但是Access Database Engine 2016 Redistributable包含一个包含ODBC驱动程序的64位版本(我认为) .

    就此而言,即使Access Database Engine 2010 Redistributable也有64位版本 .

    您还可以使用ODBC数据源管理器来创建和管理DSN(数据源名称) . 32位和64位程序有单独的管理员程序 . 在我的Windows 10计算机上,快捷方式位于“Windows管理工具”下,标记为“ODBC数据源(32位)”和“ODBC数据源(64位)” .

    通过定义DNS,您可以指定用于打开数据库的驱动程序 . 但是你也必须能够在你的连接参数中引用DNS,遗憾的是我不熟悉你在python程序中如何做到这一点 . 我至少希望这能给你一个启示的暗示 .

相关问题