每当我尝试使用 Python 脚本查询文件时,我都会收到以下错误
pyodbc.InterfaceError: ('IM002', u'[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
我的代码如下:
conn = pyodbc.connect ("DRIVER={ODBCDataFile [Microsoft Access Driver
(*.mdb, *.accdb)]};DBQ=C:\Users\jmtr\Documents\IRST_old.accdb;")
cur = conn.cursor()
cur.execute("SELECT Name, CAI, Email, SSPLocation, BUNUM from Tbl_SSP")
我的 Access 数据库是“Microsoft Access 2016 32 位”。我也在使用“32 位”python 2.7.13 和 32 位 PYODBC。而且,我在 ODBC 数据源管理器中设置了 32 位驱动程序:
我不明白为什么我仍然收到此错误消息?
最佳答案
连接字符串不正确。没有带方括号 [...]
的 ODBCDataFile
关键字。只需删除它们并将 DRIVER 分配给已安装的 ODBC 驱动程序,如屏幕截图所示:
conn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};" + \
"DBQ=C:\\Users\\jmtr\\Documents\\IRST_old.accdb;")
关于Python Access 数据库查询给 "Data Source Name Not Found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117345/