每当我尝试使用Python脚本查询文件时,都会收到以下错误
pyodbc.InterfaceError:('IM002',u'[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序(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;")
我认为你拼错了ODBCDataFile
而不是ODBCFile
。
但是在python中,字符\
是字符串中的转义字符。你需要附加前缀r"DRIVER..."
来强制原始字符串,所以不要错过解释转义字符。