【发布时间】:2021-10-29 17:19:20
【问题描述】:
我在尝试通过 pyodbc 连接到 SQL Server 时不断收到此错误:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
这是我通过 pyodbc.connect() 传递的字符串:
'DRIVER={ODBC Driver 17 for SQL Server};'
当我运行 print(pyodbc.drivers()) 时,返回的是以下内容:
['SQL Server', 'Microsoft Access Driver (*.mdb, *.accdb)', 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)', 'Microsoft Access Text Driver (*.txt, *.csv)']
如何让 ODBC 驱动程序 17 出现在我的 pyodbc 驱动程序列表中?作为参考,我在我的工作机器上的 Windows 上运行 anaconda。
非常感谢
【问题讨论】:
-
启动
\Windows\System32\odbcad32.exe并检查“驱动程序”选项卡。你在那儿看到了吗? -
@GordThompson 不——它不存在。当我执行 pyodbc.drivers() 时返回的所有相同的驱动程序都在那里。
-
好的,所以您没有安装 64 位版本的 ODBC Driver 17 for SQL Server。最后我检查了一下,这个过程有点令人困惑,因为 32 位安装程序仅安装了 32 位驱动程序,而 64 位安装程序同时安装了 64 位和 32 位版本,但是事情可能已经改变。无论如何,前往download page 并尝试再次下载“x64”版本。
-
@GordThompson 太棒了——这很有效。非常感谢您的帮助!
标签: python sql-server anaconda odbc pyodbc