Я новичок в мире Linux, и я хочу запросить Microsoft SQL Server с Python. Я использовал его в Windows, и это было прекрасно, но в Linux это довольно болезненно.PyODBC: не удается открыть драйвер, даже если он существует
Через несколько часов мне наконец удалось установить драйвер Microsoft ODBC на Linux Mint с помощью unixODBC.
Затем я создал anaconda с окружающей средой python 3.
Я тогда сделать это:
import pyodbc as odbc
sql_PIM = odbc.connect("Driver={ODBC Driver 13 for SQL Server};Server=XXX;Database=YYY;Trusted_Connection=Yes")
возвращает:
('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0' : file not found (0) (SQLDriverConnect)")
Дело не в том, что undertsand PyODBC, кажется, читает правильный путь файла от odbcinst.ini и до сих пор не работает ,
Я пошел в "/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0", и файл действительно существует!
Так почему это говорит мне, что его нет? Вот некоторые возможные подсказки:
- Я на виртуальную среду
- мне нужно иметь «читать» права, потому что это корень путь_к_файл
Я не знаю, как решить либо этих проблем.
Спасибо!
Это может быть недостающая библиотека (библиотека, используемая libmsodbcsql-13.0.so.0.0) или проблема LD_LIBRARY_PATH. Не могли бы вы поделиться результатами следующей команды? 'ldd/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0' – mauro
Связанный: [драйвер ODBC 13 для SQL Server не может открыть lib на pyodbc] (https://stackoverflow.com/q/41182415/ 55075). – kenorb