首页 > 解决方案 > 通过 pyodbc 连接 python 和 SQL 时出现问题(未指定默认驱动程序)

问题描述

我在通过 pyodbc 连接 SQL 和 python 时遇到问题。

我已经尝试了系统中的大多数驱动程序名称和包含项,但我一直遇到同样的问题。

代码:

import pyodbc 
conn = pyodbc.connect(
    "Driver='{SQL Server Native Client 11.0}';"              
               "Server = server;"
               "Database = db;"
               "username = xxx;"
               "password = xxxxxxxxx;"
               "Trusted_Connection = yes;")




cursor = conn.cursor()
cursor.execute('SELECT * FROM db.table')

for row in cursor:
    print(row)

错误:

InterfaceError                            Traceback (most recent call last)
<ipython-input-36-04dae4d66996> in <module>()
      1 import pyodbc
      2 conn = pyodbc.connect(
----> 3     "Driver='{SQL Server Native Client 11.0}';"
      4                "Server = server;"
      5                "Database = db;"

InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

标签: pythonmysqlsqlpyodbc

解决方案


ODBC Driver 17 for SQL Server是您需要使用的标准驱动程序。它涵盖了大多数用例。如果您执行以下操作,它将列出您尝试运行的机器上可用的所有驱动程序。

pyodbc.drivers()

如果ODBC Driver 17 for SQL Server不在列表中,则需要从 microsoft 站点下载安装它。


推荐阅读