Jestem nowy w świecie linux i chcę zapytać o serwer Microsoft SQL Server z Pythona. Używałem go w systemie Windows i było idealnie, ale w Linuksie to dość bolesne.PyODBC: nie można otworzyć sterownika, nawet jeśli istnieje
Po kilku godzinach w końcu udało mi się zainstalować sterownik Microsoft ODBC w systemie Linux Mint przy użyciu unixODBC.
Następnie ustawiłem anakondę w środowisku Pythona 3.
I wtedy to zrobić:
import pyodbc as odbc
sql_PIM = odbc.connect("Driver={ODBC Driver 13 for SQL Server};Server=XXX;Database=YYY;Trusted_Connection=Yes")
Zwraca:
('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0' : file not found (0) (SQLDriverConnect)")
Rzecz nie undertsand że pyodbc wydaje się odczytać właściwą filepath od ODBCINST.INI i nadal nie działa .
Poszedłem do "/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0", a plik faktycznie istnieje!
Dlaczego więc mówi mi, że nie istnieje? Oto kilka możliwych wskazówek:
- Jestem w środowisku wirtualnym
- muszę mieć „czytać” prawa, ponieważ jest to filepath korzeń
nie wiem jak rozwiązać albo tych problemów.
Dzięki!
Może to być brakująca biblioteka (biblioteka używana przez libmsodbcsql-13.0.so.0.0) lub problem LD_LIBRARY_PATH. Czy możesz podzielić się wynikiem następującego polecenia? 'ldd/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0' – mauro
Powiązane: [Sterownik ODBC 13 dla SQL Server nie może otworzyć biblioteki na pyodbc] (https://stackoverflow.com/q/41182415/ 55075). – kenorb