我是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