我可以使用如下所示的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工作。
我提前感谢您的帮助。