在linux容器环境中尝试使用python连接到SQL数据库时遇到了问题。当pyodbc试图通过查找驱动程序来连接SQL时,我遇到了以下错误。
sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server Native Client11.0' : file not found (0) (SQLDriverConnect)")
经过调查,pyodbc似乎找不到以下内容:

odbcinst -j
unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/gtx914/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

当我复查时,这些.ini文件不存在于我的Linux环境中。我不确定为什么pip安装pyodbc和uixodbc没有安装正确的依赖项来查找驱动程序。这里有人知道解决办法吗?一个警告是,我不能使用任何sudo命令,因为我在这个环境中没有根访问权限。

最佳答案

ODBC驱动程序本身不可安装pip。您需要按照以下说明,使用apt get(或类似工具)将其安装到您的操作系统或容器中:
Installing the Microsoft ODBC Driver for SQL Server on Linux and macOS

关于python - linux pyodbc连接出现错误“无法打开lib'SQL Server Native Client11.0'”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55929732/

10-14 15:40