使用Polars与ConnectorX连接SQL Server Windows Auth失败,需调整连接字符串?
调整ConnectorX连接SQL Server的连接字符串解决方案
是的,你需要重新配置连接字符串,当前的字符串存在语法错误和身份验证逻辑冲突的问题,导致登录失败(错误码18456)。以下是具体调整方案:
问题分析
你的连接字符串存在两个关键问题:
- 字符串语法错误:
'&trusted_connection=yes'前多了一个单引号,导致拼接异常 - 身份验证逻辑冲突:同时指定了
username@server和trusted_connection=yes,后者是Windows集成身份验证,不需要显式用户名;前者是SQL Server身份验证的格式,两者不能混用
正确的连接字符串配置
根据你SSMS的登录方式选择对应配置:
情况1:使用Windows集成身份验证(SSMS用当前Windows账号登录)
移除显式用户名,使用最新ODBC驱动:
conn = 'mssql+pyodbc://server_name/database_name?driver=ODBC+Driver+17+for+SQL+Server&trusted_connection=yes'
情况2:使用SQL Server身份验证(SSMS用账号密码登录)
明确指定用户名和密码,去掉trusted_connection参数:
conn = 'mssql+pyodbc://username:password@server_name/database_name?driver=ODBC+Driver+17+for+SQL+Server'
额外注意事项
- 替换实际的
server_name、database_name、username、password - 确保安装了对应版本的ODBC驱动(推荐ODBC Driver 17/18 for SQL Server),旧的
SQL Server驱动兼容性较差
内容的提问来源于stack exchange,提问作者Isaacnfairplay
相关产品推荐
相关产品推荐

