Pymssql可以与MS SQL Server建立安全连接(SSL)吗?

时间:2015-02-25 16:32:48

标签: python sql-server pymssql

我正在使用Python代码(Pymssql库)从MS SQL服务器进行查询但是我想知道是否有任何方法可以使连接安全并加密从服务器发送到python的数据?

谢谢

4 个答案:

答案 0 :(得分:2)

pymssql当然声明能够使用到SQL Server的加密连接(通过OpenSSL)。有些人可能认为不可能的一个原因是,在2.1.2之前的Windows版本的pymssql版本与pymssql 静态链接一起提供给FreeTDS,仅用于未加密的连接。

从版本2.1.2开始,pymssql的Windows版本动态链接发送到FreeTDS,因此它可以支持未加密的连接(仅通过FreeTDS)或加密连接(通过FreeTDS和OpenSSL)。有关详细信息 - 以及重要更新:版本2.1.3及更高版本 - 请参阅相关答案here

答案 1 :(得分:1)

是的,可以。

您需要通过OpenSSL支持SSL的FreeTDS。如果您碰巧使用Linux(或Windows上的Docker),在Debian中安装独立的FreeTDS非常容易:

apt-get update
apt-get install freetds-bin freetds-dev
pip install pymssql

不要将pymssql与捆绑的FreeTDS库一起使用,它显然不支持SSL。在安装pymssql之前设置env变量PYMSSQL_BUILD_WITH_BUNDLED_FREETDS=1时会使用捆绑库。

答案 2 :(得分:0)

如果你想使用pymssql使用安全连接连接SQL服务器,那么你需要提供" secure"主机中的语法..

例如。

不安全的连接主机:xxx.database.windows.net:1433 安全连接主机:xxx.database.secure.windows.net:1443

答案 3 :(得分:-1)

不幸的是,没办法,但你可以使用pyodbc