Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python tds驱动程序连接到强制加密的sql server?_Python_Sql Server_Ssl_Encryption_Certificate - Fatal编程技术网

如何使用python tds驱动程序连接到强制加密的sql server?

如何使用python tds驱动程序连接到强制加密的sql server?,python,sql-server,ssl,encryption,certificate,Python,Sql Server,Ssl,Encryption,Certificate,我正在尝试使用NTLM身份验证通过python tds驱动程序连接到SQL Server 2016。sql server正在根据此屏幕截图强制加密(sql Configuration manager)。在下一个选项卡上没有附加证书 服务器在AWS EC2机器上,但我不认为这会带来任何区别?此代码(已确认适用于未加密的其他服务器): 给出此错误: pytds.tds_base.Error:客户端未启用加密,但服务器需要加密,请启用加密,然后重试连接 然后我尝试在pytds.connect函数中使

我正在尝试使用NTLM身份验证通过python tds驱动程序连接到SQL Server 2016。sql server正在根据此屏幕截图强制加密(sql Configuration manager)。在下一个选项卡上没有附加证书

服务器在AWS EC2机器上,但我不认为这会带来任何区别?此代码(已确认适用于未加密的其他服务器):

给出此错误:

pytds.tds_base.Error:客户端未启用加密,但服务器需要加密,请启用加密,然后重试连接

然后我尝试在
pytds.connect
函数中使用
cafile
参数。因此,我创建了.cer文件和相应的.pem文件,如下链接:

使用查询上载.cer证书后:

CREATE CERTIFICATE testCer   
    FROM FILE = 'c:\Temp\test.cer' 
将参数
cafile=test.pem
添加到pytds.connect中,我得到了以下错误:

OpenSSL.SSL.Error:[(“SSL例程”、“tls\u进程\u服务器\u证书”、“证书验证失败”)]

您知道在强制加密且SQL Server网络配置中没有附加证书的情况下,如何(或是否)使python tds NTLM连接工作吗

CREATE CERTIFICATE testCer   
    FROM FILE = 'c:\Temp\test.cer'