python - [ODBC SQL Server 驱动程序][DBNETLIB]SSL 安全错误 (18)
问题描述
我正在尝试使用带有 Python 3.7 的 pyodbc 4.0.30 连接到 SQL Server。过去几天一切都很好,直到今天我收到此错误:
OperationalError: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL 安全错误 (18) (SQLDriverConnect); [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen ( SECCreateCredentials()). (1)')`
我的连接:
conn = pyodbc.connect('driver={SQL Server};server=redacted;database=uipcc_awdb;uid=redacted;pwd=redacted;trusted_connection=no;')
请注意,我可以通过 SQL Server Management Studio 正常连接到数据库,并且我的机器、SQL Server 或网络没有进行任何更改。
我需要强调的是,我试图遵循类似问题中提到的内容(但没有一个有效):
- 添加
sslverify=0
连接参数 - 添加
encrypt=0
连接参数 - 从我的机器上更改 OBDC 驱动程序,不起作用并破坏了与 SQL Server Management Studio 的连接
解决方案
这很可能是 TLS 版本问题。TLS 1.0/ TLS 1.1 可能已在 SQL Server 上禁用。
pyodbc github tracker目前有一个未解决的问题
并看到另一个问题: Pyodbc give exception with old version of sql driver but failed with latest version
推荐阅读
- c# - 使用程序集扫描注册 ASP.NET Core JsonConverter 实现
- jfreechart - 使用来自输入流的字符串在 XYLineChart(JFreeChart) 上设置 X 轴
- java - 错误 org.threeten.bp.format.DateTimeParseException
- reporting - 查询中加入组的数据项的运行计数
- powershell - 请求中的无效内容长度或块长度
- python - Python将CSV转换为多个JSONS,每行一个
- javascript - 如何在 opencv.js 中使用 cv.polylines?
- java - 如何在 SpringBoot 中同时使用 log4j 和 logBack?
- sql - 将每个 id 的行转为列
- node.js - 将 internal.Writable 转换为 NodeJS.WritableStream