pyodbc 证书验证失败

问题描述 投票:0回答:2

我需要使用 pyodbc 连接到 mssql 服务器并收到以下错误:

('08001', '[08001] [Microsoft][适用于 SQL Server 的 ODBC 驱动程序 18]SSL 提供程序: [错误:0A000086:SSL 例程::证书验证失败:EE 证书密钥太弱] (-1) (SQLDriverConnect) ')

我的连接字符串如下:

    try:
        conn_str = f'DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={self._server};DATABASE={self._database};UID={self._username};PWD={self._password}'
        conn = pyodbc.connect(conn_str)

        cursor = conn.cursor()
        return cursor
    except pyodbc.Error as err:
        print('pyodbc error')
        print(str(err))

如何避免ssl证书的检查?

python-3.x sql-server pyodbc
2个回答
0
投票

在连接字符串中添加:

加密=否;


0
投票

我有类似的问题,并努力寻找一个好的答案。关于 ODBC,存在很多混乱。如果您使用的是 Linux,我建议您查看

unixODBC
驱动程序附带的 PDF 文档。可以在
/opt/simba/spark
下找到。

在该文档中,它说您应该使用参数

AllowSelfSignedServerCert=1
。这对我们有用。

© www.soinside.com 2019 - 2024. All rights reserved.