Не удается открыть lib 'SQL собственный сервер 10.0' Python3, Linux ubuntu - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь подключиться к серверу MS SQL с консолью python для проверки соединения и получения таблиц базы данных, вот мой код

>>>from sqlalchemy import create_engine
>>>engine = create_engine("mssql+pyodbc://username:password@host:port/databasename?driver=SQL+Server+Native+Client+10.0")
>>> connection = engine.connect()

, он возвращает эту ошибку я

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server Native Client 10.0' : file not found (0) (SQLDriverConnect)")

я установил pyodb c. Я попытался изменить драйвер на «SQL Server Native Client 11.0» и даже «SQL Server», все еще возвращает ту же ошибку

Пожалуйста, что мне делать? похоже, я не знаю, что я не сделал или сделал неправильно.

1 Ответ

0 голосов
/ 07 января 2020

, поэтому я провел еще несколько исследований и обнаружил, что не использовал нужный драйвер, а у моего pyodb c этого драйвера не было. вероятно, потому что я установил оба

, вот как я проверил доступные мне драйверы.

>>>import pyodbc
>>> for driver in pyodbc.drivers():
...     print(driver)

и выход был

ODBC Driver 17 for SQL Server
ODBC Driver 13 for SQL Server

, поэтому я просто изменил код для

>>>engine = create_engine("mssql+pyodbc://username:password@host:port/databasename?driver= ODBC Driver 17 for SQL Server")
>>> connection = engine.connect()

и он прошел.

...