Не могу открыть lib '/usr/local/lib/libmsodbcsql.13.dylib': файл не найден - но файл существует - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь подключиться к серверу MS SQL с ноутбука Jupyter, используя pyodb c и unixODB C, в macOS 10.15.4. Я только что обновил OSX до Catalina, и моя ранее рабочая конфигурация сломалась.

Я пытаюсь соединиться с:

pyodbc.connect('Driver={ODBC Driver 13 for SQL Server};Server=xxx;Database=xxx;uid=xxx;pwd=xxx;')

, который выдает ошибку:

Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmsodbcsql.13.dylib' : file not found (0) (SQLDriverConnect)")

Но этот файл существует и на него указывает драйвер в obdcinst.ini, и ссылки кажутся правильными.

Чтобы отследить это, я запускаю:

$ odbcinst -j

unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /Users/johnmorgan/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

Файл драйвера существует, и выглядит следующим образом:

$ more /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

Указанный драйвер является символической ссылкой - это файл «файл не найден» в ошибке:

$ ls -al /usr/local/lib/libmsodbcsql.13.dylib

lrwxr-xr-x  1 johnmorgan  admin  54 Apr 15 08:13 /usr/local/lib/libmsodbcsql.13.dylib -> ../Cellar/msodbcsql/13.1.9.2/lib/libmsodbcsql.13.dylib

и символическая ссылка указывает на фактическую файл библиотеки:

$ ls -al /usr/local/Cellar/msodbcsql/13.1.9.2/lib/libmsodbcsql.13.dylib

-r--r--r--  1 johnmorgan  admin  2456360 Jan 29  2018 /usr/local/Cellar/msodbcsql/13.1.9.2/lib/libmsodbcsql.13.dylib

Итак, насколько я могу судить, все драйверы, файлы и ссылки верны.

Так почему я получаю ошибку «файл не найден», и как я могу это исправить?

Я знаю других с этой проблемой, например, Не могу открыть lib 'ODB C Драйвер 13 для SQL Сервер'? Проблема с символьными ссылками? , но это не помогло мне решить мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...