我是Linux新手,我想從Python中查詢Microsoft SQL Server。我在Windows上使用它,這非常好,但在Linux中,這是非常痛苦的。PyODBC:即使它存在也無法打開驅動程序
幾個小時後,我終於成功地在unixODBC的Linux Mint上安裝了Microsoft ODBC驅動程序。
然後,我用python 3環境設置anaconda。
然後我做到這一點:
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
相關:[用於SQL Server的ODBC驅動程序13無法在pyodbc上打開lib](https://stackoverflow.com/q/41182415/ 55075)。 – kenorb