Próbuję uruchomić mój kod w Pythonie na maszynie wirtualnej Ubuntu (18.04.3), ale nadal otrzymuję błąd:

Traceback (ostatnie wywołanie ostatnie): Plik "python-script.py", wiersz 33, w conn = pyodbc.connect ('Driver = {SQL Server Native Client 11.0};' pyodbc.Error: ('01000', "[ 01000] [unixODBC] [Driver Manager] Nie można otworzyć biblioteki „SQL Server Native Client 11.0”: nie znaleziono pliku (0) (SQLDriverConnect) ”)

Zainstalowałem pyodbc bez błędów, więc jestem zdezorientowany, co może powodować ten problem. Wiele razy szukałem rozwiązania, ale większość z nich dotyczy różnych wersji sterowników i nie rozwiązuje tego problemu. Poniżej znajduje się mój kod do łączenia się z bazą danych, który moim zdaniem może powodować ten błąd:

conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
                      'Server=servername;'
                      'Database=databasename;'
                      'Trusted_Connection=yes;')

Każda pomoc w tym zakresie byłaby bardzo mile widziana!

2
grand2019 20 listopad 2019, 19:03
Którą wersję pyodbc zainstalowałeś? Zgodnie z zainstaluj dokumentację (krok 3) jest to wersja 17, a nie 11.
 – 
Larnu
20 listopad 2019, 19:40

1 odpowiedź

Po zainstalowaniu sterownika ODBC zgodnie z instrukcjami podanymi w

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

Musisz użyć

DRIVER=ODBC Driver 17 for SQL Server;...
3
Gord Thompson 20 listopad 2019, 20:13
Dzięki, ale teraz pojawia się ten błąd: pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
 – 
grand2019
21 listopad 2019, 00:39
Ten sam problem, kiedy wpadnę na kontenery.
 – 
Stavros Koureas
12 listopad 2020, 13:08