You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署SQL Server后,pyodbc连接SSL证书验证失败如何解决?

解决pyodbc连接SQL Server Docker容器的SSL证书错误

你的问题出在连接参数冲突:你同时启用了trusted_connection='yes'(系统集成认证)和SQL账号密码认证,驱动会优先走集成认证,既忽略了你的SQL登录信息,也导致trust_server_certificate='yes'的设置未生效,最终触发自签名证书验证失败的错误。

解决方法

直接修改连接参数:

  • 移除trusted_connection='yes',因为你使用的是SQL账号(demo用户)登录,不需要系统集成认证
  • 保留trust_server_certificate='yes',用来信任Docker容器中SQL Server的自签名证书

修改后的代码如下:

import pyodbc

SERVER = 'localhost,1433'
DATABASE = 'demo'
USERNAME = 'demo'
PASSWORD = 'Demo123#'

cnxn = pyodbc.connect(driver='{ODBC Driver 18 for SQL Server}',
                      server=SERVER,
                      database=DATABASE,
                      trust_server_certificate='yes',
                      username=USERNAME,
                      password=PASSWORD)

额外排查方向(可选)

  • 确认系统已正确安装ODBC Driver 18 for SQL Server,版本不匹配也可能引发类似问题
  • 如果仍有异常,可尝试启动Docker容器时通过-e "MSSQL_TLS_CERTIFICATE=/path/to/your/cert"指定自定义证书,但上述参数修改已能解决绝大多数场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:12:39