Я пытаюсь подключиться к MS SQL Server, используя pyodbc
с удаленного компьютера, на котором работает Ubuntu 16.04.
import pyodbc
conn = pyodbc.connect(r'DRIVER=ODBC Driver 17 for SQL Server; SERVER=xxxTest-SRV; PORT=51333; DATABASE=TestDB; UID=xxxx; PWD=xxxx;')
Я получаю следующую ошибку:
pyodbc.OperationalError: ('HYT00', '[HYT00] [unixODBC] [Microsoft] [ODBC
Драйвер 17 для SQL Server] Истекло время ожидания входа (0)
(SQLDriverConnect) ')
Я попытался использовать сервер IP
в строке подключения, но все равно не повезло.
Однако я могу подключиться к sqlcmd
с терминала
Следующие работы:
sqlcmd -S xxxTest-SRV, 51333 -d TestDB -U xxxx -P xxxx
Я не нашел ни одной проблемы, которая бы дала ответ на мою проблему.
odbcinst.ini
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-17.1.so.1.1
UsageCount=1
Кажется, всегда существует проблема с подключением к MS SQL Server с использованием pyodbc
с Linux-машины. Есть ли способ подключения к SQL Server из Python. Буду признателен за помощь в решении этой ошибки. Спасибо.
[UPDATE]
Согласно приведенному ниже ответу, я обновил строку подключения. Но теперь я получаю следующую ошибку:
pyodbc.Error: ('01000', "[01000] [unixODBC] [Driver Manager] Не удается открыть
lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1': file
не найден (0) (SQLDriverConnect) ")
My odbcinst.ini Определение драйвера файла:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1
UsageCount=1
Соединение с MS SQL Server с компьютера с Linux всегда было кошмаром. Подскажите, пожалуйста, какая версия pyodbc
, unixODBC
и Driver
самая стабильная?
Я установил драйвер, следуя этой инструкции Microsoft. Моя pyodbc
версия 4.0.23