Windows7下Python3.8通过PyODBC连接SQL Server报错求助
解决Python3.8通过ODBC Driver 11连接SQL Server的错误
问题分析
你遇到的错误核心有两个原因:
- 连接参数传递方式错误:pyodbc.connect不支持传入多个独立的字符串参数,需使用完整连接字符串或关键字参数形式。
- 无效连接属性:ODBC Driver 11不支持单独的
PORT属性,端口需直接附加在Server地址中。
修正后的代码方案
方案1:使用完整连接字符串
将所有连接参数合并为单个字符串:
import pyodbc conn = pyodbc.connect( "Driver={ODBC Driver 11 for SQL Server};Server=tcp:server,1433;Database=db_name;UID=user;PWD=password;Trusted_Connection=no" )
方案2:使用关键字参数传递
用关键字参数替代多字符串参数,同时将端口整合到Server字段:
import pyodbc conn = pyodbc.connect( Driver="{ODBC Driver 11 for SQL Server}", Server="tcp:server,1433", Database="db_name", UID="user", PWD="password", Trusted_Connection="no" )
额外注意事项
- 务必将代码中的
server、db_name、user、password替换为你的实际远程SQL Server信息。 - 由于Windows 7仅兼容ODBC Driver 11(17/18版本不支持Win7),请保持使用该驱动版本。
内容的提问来源于stack exchange,提问作者Manoj Kumar M
相关产品推荐
相关产品推荐

