【问题标题】:What causes ODBC connection error 08001 ssl security error什么原因导致 ODBC 连接错误 08001 ssl 安全错误
【发布时间】:2020-06-18 14:23:31
【问题描述】:

我可以从本地桌面上的 SSMS 访问 SSIS 服务器和数据库,从 select * from sysjobs 获取结果。在尝试使用连接字符串从 python 3.7 64 位访问 SSIS 服务器和数据库时 Driver={SQL Server}; Server=BSWHPACTIANDBD1; Database=msdb; Trusted_Connection=True,我无法使用pypyodbc或pyodbc连接到数据库;

失败就在这里: connection = X.connect(connect_string), where X = pyodbc|pypyodbc

pyodbc 错误是

pyodbc.OperationalError: ('08001', '[08001] [Microsoft][ODBC SQL 服务器驱动程序][DBNETLIB]SSL 安全错误 (18) (SQLDriverConnect); [08001] [Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]ConnectionOpen (SECDoClientHandshake())。 (772)')

pypyodbc 错误是

pypyodbc.DatabaseError: ('08001', '[08001] [Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]SSL 安全错误')

Windows 10、64 位

有什么建议或想法吗?

【问题讨论】:

    标签: python sql-server windows pyodbc pypyodbc


    【解决方案1】:

    我在我的 Windows PC 上遇到了这个问题,并解决了如下:

    下载并安装了一个新的 SQL Server 驱动程序(对我来说它在页面下方,可能会随着时间而变化) https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15

    然后在您的 PC 上转到 管理工具 -> ODBC 数据源(64 位或 32 位)-> 驱动程序

    然后取你刚刚安装的驱动的名字,在你的python连接中使用

    import pyodbc
    try:
        conn = pyodbc.connect(
            driver='{ODBC Driver 17 for SQL Server}', # this is the name
            server='hostname.com',
            database='DB_NAME',
            uid='user_id',
            pwd='password')
        print(conn)
    except Exception as e:
        print(e)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      • 2011-09-29
      • 2023-04-01
      • 1970-01-01
      • 2016-07-24
      • 2011-01-20
      • 2010-11-12
      相关资源
      最近更新 更多