Сбой адаптивного подключения к серверу: ошибка при использовании pymssql

#sql-server #azure-sql-database #pymssql

#sql-сервер #azure-sql-database #pymssql

Вопрос:

Я могу использовать sqlcmd для подключения к SQL Server:

 sqlcmd -S xxxxxmssqlserver.database.windows.net,1433 -U xxxadministrator -P thxxxxx
  

Однако это не работает, когда я использую скрипт Python.

 import pymssql

conn = pymssql.connect(server='xxxxxxmssqlserver.database.windows.net', user='mradministrator', password='thxxxx', database='AdventureWorks')
cursor = conn.cursor()
cursor.execute('SELECT c.CustomerID, c.CompanyName,COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC;')
row = cursor.fetchone()
while row:
    print str(row[0])   " "   str(row[1])   " "   str(row[2])
row = cursor.fetchone()
  

Сообщение об ошибке

[testadmin@vic1-deployment] $ python test.py Обратная
трассировка (последний последний вызов):

Файл «test.py «, строка 3, в
conn = pymssql.connect(сервер=’xxxxmssqlserver.database.windows.net ‘, пользователь= ‘xxxadministrator@xxxxmssqlserver’, пароль= ‘xxxxx’, база данных = ‘Master’)

Файл «src /pymssql.pyx», строка 642, в pymssql.connect
pymssql.Ошибка OperationalError: (20002, ‘Сообщение об ошибке DB-Lib 20002, серьезность 9: Не удалось адаптивное подключение к серверу xxxxxmssqlserver.database.windows.net )n’)

Среда проверяет приведенные ниже предложения! Требования к среде

 [testadmin@vic1 deployment]$ tsql -C
Compile-time settings (established with the "configure" script)
                            Version: freetds v0.91
             freetds.conf directory: /usr/local/freetds/etc
     MS db-lib source compatibility: yes
        Sybase binary compatibility: no
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 5.0
                              iODBC: no
                           unixodbc: yes
              SSPI "trusted" logins: no
                           Kerberos: no
  

Я использовал следующее в параметрах подключения:

 user='xxxadministrator@xxxxmssqlserver'
database='Master'
  

Но я не знаю, как проверить TDS protocol version и если FreeTDS is built with SSL support . Однако я вижу TDS version , что это 5.0 из tsql -C выходных данных.

Комментарии:

1. В чем конкретная ошибка? Помогает ли это? pymssql.readthedocs.io/en/stable/azure.html

2. При использовании pymssql user должно быть xxxadministrator@servername .

3. @LeonYue не работает.

4. @squillman Я прикрепил конкретную ошибку.

5. @cdhit Пожалуйста, проверьте среду pymssql здесь: pymssql.readthedocs.io/en/stable/azure.html