pyodbc 操作错误 08001 SSL 安全错误



我正在尝试通过笔记本电脑(在Windows 10上(上的以下python脚本使用pyodbc连接到MS SQL Server 2016上的数据库,并计划将代码部署在Linux RHEL 6.4服务器中。

conn=pyodbc.connect('Driver={SQL Server};'
'Server=DB_Instance;'
'Database=DB_Name;'
'UID=user_name;'
'PWD=password;'
'Trusted_Connection=no;');

在我的笔记本电脑上,SQL Server(版本:10.00.17763.01(和SQL Server Native Client 11.0(版本:2011.110.7493.04(已经可用。

从笔记本电脑执行python脚本时,我收到以下错误消息。

pyodbc.operationalError: ('08001', '[08001] [Microsoft] [ODBC SQL Server Driver][DBNETLIB]SSL Security error (18( (SQLDriverConnect(;[08001] [Microsoft] [ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECDoClientHandshake(((.(772('(

根据组织标准,TLS 1.0 在网络中安装 SQL Server 的 Windows 服务器上被禁用。由于我通过 python 脚本访问数据库,因此我们无法暂时启用 TLS 1.0。我正在寻找一个方向。任何帮助都非常感谢!!

Gord Thompson在评论中指出了Guna的正确方向:

您可以尝试使用 ODBC Driver 17 for SQL Server 并查看它是否适合您吗?

– 戈德·汤普森

古纳说这奏效了:

我面临着不同的错误。除了服务器名称之外,还添加了端口号,问题得到了解决。ODBC 驱动程序名称也需要更新。conn=pyodbc.connect('Driver={ODBC Driver 17 for SQL Server};' "服务器=DB_Instance,端口;" '数据库=DB_Name;" 'UID=user_name;' "PWD=密码;" "Trusted_Connection=否;"(;

– 古纳

将其发布为社区维基,以便任何搜索者都可以快速看到它已得到答复。

问题: - 尝试对 MSSQL 服务器执行密码更改时,您会收到以下错误消息:-SSL 安全错误

溶液:- 这可能是用于建立连接的 SQL 本机客户端驱动程序的版本存在问题。

  1. 请在 CPM 服务器上下载并安装"ODBC Driver 13 for SQL Server"。 https://www.microsoft.com/en-us/download/confirmation.aspx?id=50420 下载 32 位驱动程序:x86\msodbcsql.msi

  2. 照常安装

  3. 编辑 MSSQL 平台以将连接命令从 驱动程序={SQL Server};服务器=%地址%;数据库=%数据库%;Uid=%USER%;Pwd=%登录密码%; 自 驱动程序={ODBC 驱动程序 13 for SQL Server};服务器=%地址%;数据库=%数据库%;Uid=%USER%;Pwd=%登录密码%;

  4. 重新启动 CPM 服务以选取平台更改并重新测试

最新更新