无法使用 64 位连接到 64 位 Ms Access 数据库 Python 3.6.ODBC 驱动程序错误
cannot connect to 64bit MsAccess database with 64bit Python 3.6.ODBC Driver Error
我刚刚在一台新电脑上安装了 64 位 Microsoft Office,还安装了 64 位 python 3.6。
我正在尝试使用我的 python 脚本连接到访问数据库,但是我不断收到以下错误提示我使用的是 32 位 ODBC 驱动程序而不是 64 位驱动程序?
关于无需安装 32 位 MS Office 和 32 位 Python 如何连接的任何想法?
这是我收到的错误消息:
cnxn = pyodbc.connect(connstr)
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 (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")
我个人没有处理过 64 位 MS Office 应用程序或驱动程序,但是 Access Database Engine 2016 Redistributable 包含 64 位版本,包括 ODBC 驱动程序(我认为)。
就此而言,甚至 Access Database Engine 2010 Redistributable 也有 64 位版本。
您还可以使用 ODBC 数据源管理器来创建和管理 DSN(数据源名称)。 32 位和 64 位程序有单独的管理员程序。在我的 Windows 10 机器上,快捷方式位于 'Windows Administrative Tools' 下并标记为 'ODBC Data Source (32-bit)' 和 'ODBC Data Source (64-bit)'.
通过定义 DNS,您可以指定使用哪个驱动程序打开数据库。但是您还必须能够在您的连接参数中引用 DNS,遗憾的是我不熟悉如何在您的 python 程序中执行此操作。我至少希望这能给我们一个开始的提示。
我刚刚在一台新电脑上安装了 64 位 Microsoft Office,还安装了 64 位 python 3.6。
我正在尝试使用我的 python 脚本连接到访问数据库,但是我不断收到以下错误提示我使用的是 32 位 ODBC 驱动程序而不是 64 位驱动程序?
关于无需安装 32 位 MS Office 和 32 位 Python 如何连接的任何想法?
这是我收到的错误消息:
cnxn = pyodbc.connect(connstr) pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 (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")
我个人没有处理过 64 位 MS Office 应用程序或驱动程序,但是 Access Database Engine 2016 Redistributable 包含 64 位版本,包括 ODBC 驱动程序(我认为)。
就此而言,甚至 Access Database Engine 2010 Redistributable 也有 64 位版本。
您还可以使用 ODBC 数据源管理器来创建和管理 DSN(数据源名称)。 32 位和 64 位程序有单独的管理员程序。在我的 Windows 10 机器上,快捷方式位于 'Windows Administrative Tools' 下并标记为 'ODBC Data Source (32-bit)' 和 'ODBC Data Source (64-bit)'.
通过定义 DNS,您可以指定使用哪个驱动程序打开数据库。但是您还必须能够在您的连接参数中引用 DNS,遗憾的是我不熟悉如何在您的 python 程序中执行此操作。我至少希望这能给我们一个开始的提示。