Не удается открыть библиотеку ODB C Driver 17 для SQL Server в python - PullRequest
0 голосов
/ 06 мая 2020

Я использую сценарий python для подключения к удаленному серверу MS Sql. Я установил необходимые библиотеки в свой OSX m / c и попытался подключиться с помощью оболочки python, но операция не удалась. MS Sql не установлен локально на моем компьютере разработчика.

Python shell:
>>> cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
>>> 

Содержимое odbcinst.ini

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.17.dylib

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

lrwxr-xr-x    1 biju  admin      56 Mar 23 07:57 libmsodbcsql.17.dylib -> ../Cellar/msodbcsql17/17.5.2.1/lib/libmsodbcsql.17.dylib

Используя путь к файлу непосредственно в драйвере, код работает.

Найден еще один файл odbcinst в /etc/odbcinst.ini

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.13.dylib
UsageCount=1

По указанному выше пути нет файла /usr/local/lib/libmsodbcsql.13.dylib. Я не уверен, правильно ли установлены эти две версии библиотеки или их нужно удалить.

...