rsj0315 发表于 2023-7-11 12:38:37

pyodbc连接access问你题

连接access数据库一直报这个错误是啥情况?
驱动刚装的64位的,python也是3.7的64位的。

import pyodbc

conn = pyodbc.connect("Driver = {Microsoft Access Driver (*.mdb, *.accdb)};DBQ=Chapter04.accdb")
cursor = conn.cursor()
cursor.execute("SELECT * FROM Customers")
rows = cursor.fetchall()
print(rows)


Traceback (most recent call last):
File "D:\pythonProject\unittest.py", line 7, in <module>
    conn = pyodbc.connect("Driver = {Microsoft Access Driver (*.mdb, *.accdb)};DBQ=Chapter04.accdb")
pyodbc.InterfaceError: ('IM002', ' 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')

陶远航 发表于 2023-7-11 12:38:51

这个错误pyodbc.InterfaceError: ('IM002', ' 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')通常是由于未找到正确的数据源名称或指定了错误的驱动程序引起的。

请尝试以下几个步骤来解决该问题:

1. 确认安装了Microsoft Access数据库驱动程序:确保已经使用64位的Microsoft Access数据库驱动程序安装了ODBC驱动程序。您提到已经安装了64位的驱动程序,但请仔细检查是否安装正确。如果安装了32位的Python,则需要安装32位的驱动程序。

2. 检查驱动程序名称和路径:在连接字符串中,确保指定了正确的驱动程序名称和路径。您可以打开ODBC数据源管理器(在Windows搜索栏中输入"ODBC")来查看已安装的驱动程序。在驱动程序名称中,也可以尝试使用完整的驱动程序名称,如"{Microsoft Access Driver (*.mdb, *.accdb)}".

3. 使用完整的文件路径:在连接字符串中,使用完整的Access数据库文件路径来代替"Chapter04.accdb"。例如,可以尝试使用"DBQ=C:/path/to/Chapter04.accdb"来指定数据库的完整路径。

如果仍然遇到问题,请确保您的Python环境和操作系统兼容,并检查是否有其他配置或权限问题。您可以尝试使用其他工具(如pypyodbc)来连接Access数据库,以确定是否是pyodbc特定的问题。

希望这些步骤能够帮助您解决问题!如有进一步疑问,请随时提问。
页: [1]
查看完整版本: pyodbc连接access问你题