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

使用pd.read_sql()连接SQL Server(ODBC17)遇SSL内部错误求助

解决pd.read_sql()连接SQL Server时的SSL Provider内部错误

sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('08001',
'[08001] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]SSL
Provider: [error:0A0C0103:SSL routines::internal error] (-1)
(SQLDriverConnect)')

以下是可行的解决方法:

  • 禁用SSL证书验证(临时方案,注意安全风险)
    在数据库连接字符串中添加TrustServerCertificate=yes参数。使用SQLAlchemy时,连接URL示例:

    mssql+pyodbc://<用户名>:<密码>@<服务器地址>/<数据库名>?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=yes
    

    若直接使用pyodbc连接,可在参数中加入该配置:

    import pyodbc
    conn = pyodbc.connect(
        'DRIVER={ODBC Driver 17 for SQL Server};'
        'SERVER=<服务器地址>;'
        'DATABASE=<数据库名>;'
        'UID=<用户名>;'
        'PWD=<密码>;'
        'TrustServerCertificate=yes'
    )
    
  • 更新ODBC驱动版本
    卸载当前的ODBC Driver 17 for SQL Server,重新安装微软官方发布的最新版本,旧版本驱动可能存在SSL协议兼容性问题。

  • 调整系统OpenSSL版本
    该错误常因系统OpenSSL版本与ODBC驱动不兼容导致,若当前使用OpenSSL 3.x系列,可尝试降级至1.1.x版本;反之则升级到匹配的稳定版本,具体操作根据操作系统(Linux/Windows)的包管理器或环境变量设置完成。

  • 检查SQL Server端SSL配置
    确认服务器的SSL证书是否有效、未过期,若使用自签名证书需确保配置正确;同时检查服务器是否强制要求SSL连接,可临时关闭SSL强制验证测试连接是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:20:43