Python Access数据库查询给出“未找到数据源名称”

问题描述 投票:2回答:2

每当我尝试使用Python脚本查询文件时,都会收到以下错误

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

Image of Error Message

我的代码如下:

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位驱动程序:

Image of ODBC 32-bit

我不明白为什么我仍然收到此错误消息?

python ms-access pyodbc
2个回答
1
投票

连接字符串不正确。括号ODBCDataFile没有[...]关键字。只需删除它们并将DRIVER分配给已安装的ODBC驱动程序,如屏幕截图所示:

conn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};" + \
                      "DBQ=C:\\Users\\jmtr\\Documents\\IRST_old.accdb;")

0
投票

我认为你拼错了ODBCDataFile而不是ODBCFile

但是在python中,字符\是字符串中的转义字符。你需要附加前缀r"DRIVER..."来强制原始字符串,所以不要错过解释转义字符。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.