我在尝试在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 install pyodbc和uixodbc没有安装正确的依赖项来查找驱动程序。这里有人知道解决方法吗?一个警告是我无法使用任何sudo命令,因为在此环境中我没有root访问权限。
答案 0 :(得分:0)
ODBC驱动程序本身无法通过pip安装。您需要按照此处的说明使用apt-get(或类似工具)将其安装到操作系统或容器中:
Installing the Microsoft ODBC Driver for SQL Server on Linux and macOS