为什么我可以使用tsql连接Azure SQL而不是使用centOS中的pymssql?

时间:2018-02-14 18:44:36

标签: azure ssl centos freetds pymssql

我可以使用如下所示的T-SQL连接到Azure SQL Server。

tsql -H testdb.database.windows.net -p 1433 -U testuser -P testpass -D testdb

当我使用pymssql时,我无法连接。

>>import pymssql
>>connection = pymssql.connect(server='testdb', user='testuser@testdb', password='testpass', database='testdb')

失败并显示错误:

  

意外错误:
  追溯(最近的呼叫最后):
  文件" pymssql.pyx",第635行,在pymssql.connect(pymssql.c:10734)
  文件" _mssql.pyx",第1902行,在_mssql.connect(_mssql.c:21821)中
  文件" _mssql.pyx",第637行,在_mssql.MSSQLConnection中。 init (_ mssql.c:6581)
  文件" _mssql.pyx",第1630行,_mssql.maybe_raise_MSSQLDatabaseException(_mssql.c:17524)
  _mssql.MSSQLDatabaseException:(20002,b' DB-Lib错误消息20002,严重级9:\ nAdaptive Server连接失败(testdb:1433)\ n')

在处理上述异常期间,发生了另一个异常:

  

追踪(最近的呼叫最后):
  文件" ./ testdb_Azure_Test.py",第13行,在   connection = pymssql.connect(server =' testdb',user =' testuser @ testdb',password =' testpass',database =' testdb&#39 ;)
  文件" pymssql.pyx",第641行,在pymssql.connect(pymssql.c:10824)
  pymssql.OperationalError:(20002,b' DB-Lib错误消息20002,严重性9:\ nAdaptive Server连接失败(testdb:1433)\ n')

检查相同类型的问题后 here。我遵循了所有提到的步骤并从openssl.org网站安装了SSL,因为centOS没有捆绑SSL。

我从openssl.org和freeTDS版本(FreeTDS 0.95.19)安装了SSL(OpenSSL 1.0.1e-fips 2013年2月11日)并使用python3.5。

当我用tsql -c检查时,它显示OpenSSL = YES和TDS Version 7.3。

    Compile-time settings (established with the "configure" script)
                                Version: freetds v0.95
                 freetds.conf directory: /usr/local/etc
         MS db-lib source compatibility: no
            Sybase binary compatibility: no
                          Thread safety: yes
                          iconv library: yes
                            TDS version: 7.3
                                  iODBC: no
                               unixodbc: no
                  SSPI "trusted" logins: no
                               Kerberos: no
                                OpenSSL: yes
                                 GnuTLS: no

我仍在逐步解决同样的问题,不确定我做错了什么。我用于SSL的版本是旧的,我需要安装任何新版本。

我知道它在安装SSL之后的大部分工作都有效,请告知我很长时间都在努力解决这个问题。请告知我缺少的内容以及我需要遵循哪些步骤和版本才能使Azure工作。

我提前感谢您的帮助。

0 个答案:

没有答案