Ошибка при подключении к Azure через pymssql в Ubuntu

Я написал скрипт на Python под названием test.py который содержит следующее:

import pymssql

conn = pymssql.connect(host="hostname", user="username@hostname", password="pass", database="dbname")
cursor = conn.cursor()
cursor.execute('SELECT * FROM SalesLT.Customer WHERE CustomerID=%d', 1)
row = cursor.fetchone()
while row:
    print("ID=%d, Name=%s" % (row[0], row[3]))
    row = cursor.fetchone()

conn.close()

Я установил FreeTDS с помощью команд:

export PYMSSQL_BUILD_WITH_BUNDLED_FREETDS=1
pip install pymssql

Установка, кажется, работает, но я получаю сообщение об ошибке при запуске программы:

Traceback (most recent call last):
File "test.py", line 8, in <module>

 conn = pymssql.connect(host="hostname",user="username@hostname",password="pass",database="dbname")

File "pymssql.pyx", line 641, in pymssql.connect (pymssql.c:10824)

pymssql.OperationalError: (20002, "Сообщение об ошибке DB-Lib 20002, серьезность 9:\n Ошибка подключения к адаптивному серверу \n')

Я не знаю, что не так, и помощь будет оценена. Пожалуйста, дайте мне знать, если есть какие-то изменения, которые мне нужно сделать, чтобы freetds.conf,

1 ответ

я пытаюсь подключиться к экземпляру Azure SQL

Azure требует зашифрованное соединение, и pymssql устанавливается по умолчанию .whl файлы или построены с PYMSSQL_BUILD_WITH_BUNDLED_FREETDS=1 не поддерживает зашифрованные соединения.

Инструкции по использованию pymssql с зашифрованными соединениями в Ubuntu см. В разделе

Как настроить pymssql с поддержкой SSL в Ubuntu 16.04 LTS?

Другие вопросы по тегам