You need to enable JavaScript to run this app. pyodbc配置连接串:使用trusted_connection=yes替代账密的方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

pyodbc配置连接串:使用trusted_connection=yes替代账密的方法咨询

pyodbc对接SQL Server的可信连接配置说明

完全可以省略连接串中的UID、PWD字段,通过设置可信连接参数实现Windows集成身份认证下的数据库连接,这是pyodbc对接SQL Server的原生支持能力,不需要额外引入第三方组件。

修改后的配置写法

删除原有连接串里的UID、PWD键值对,新增Trusted_Connection=yes参数即可。ODBC驱动对连接参数的大小写不敏感,Trusted_Connection=yes和trusted_connection=true两种写法完全等价,都可以被正常识别。

修改后的完整可运行代码:

cnnString = (
    'Driver={SQL Server Native Client 11.0};'
    'Server=XXXXX;'
    'Database=XXXXX;'
    'Trusted_Connection=yes;'
)
qry = 'select * from View_Dim_Supp'
cnn = pyodbc.connect(cnnString)
df = pd.read_sql(qry, cnn)

实际使用的注意事项

  • 身份校验逻辑:可信连接不会使用匿名身份访问数据库,会直接以当前运行Python进程的Windows登录账号作为连接凭据。你需要提前在目标SQL Server实例中,为这个运行账号配置对应数据库的访问权限,否则会直接触发登录失败报错,权限规则和SSMS中选择“Windows身份认证”登录的校验逻辑完全一致。
  • 驱动兼容性:你当前使用的SQL Server Native Client 11.0驱动完全支持该参数,不需要额外更换驱动版本即可正常生效。
  • 配置冲突规避:不要在同一份连接串中同时保留UID/PWD明文字段和可信连接参数,部分ODBC驱动会优先采信明文凭据,导致你配置的可信认证逻辑失效。
  • 跨平台适配提醒:如果是在Linux、MacOS等非Windows环境下运行这段代码,无法直接使用本地Windows账号完成可信认证,需要额外搭配Kerberos域认证配置才能让该参数生效。

内容的提问来源于stack exchange,提问作者Developer 2023

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 07:15:03