已安装SQL Server驱动,Pyodbc连接时却报找不到lib文件错误
解决pyodbc连接SQL Server时驱动找不到的问题
问题核心是连接字符串里的驱动名称与实际安装的驱动不匹配:
从pyodbc.drivers()的输出可知,你实际安装的SQL Server驱动名称是ODBC Driver 13 for SQL Server,但连接代码里写的是{SQL Server},unixODBC无法找到对应驱动库,因此报错。
解决步骤:
- 修正连接字符串的驱动名称
将连接代码中的Driver参数替换为实际存在的驱动名称,代码修改为:import pyodbc connection = pyodbc.connect( 'Driver={ODBC Driver 13 for SQL Server};' 'Server=xxx;' 'Database=Kxxxx;' 'Trusted_Connection=True;' ) - 确认驱动名称完全匹配
再次执行print(pyodbc.drivers()),确保驱动名称的大小写、空格和符号与连接字符串中的完全一致,驱动名称是区分大小写的。 - 检查驱动库路径配置
若仍报错,查看unixODBC的配置文件odbcinst.ini(通常在/etc/odbcinst.ini或~/.odbcinst.ini),确认对应驱动的配置段中Driver指向的.so文件路径正确且文件存在,示例配置如下:
确保该路径下的驱动文件存在,且当前用户有读取权限。[ODBC Driver 13 for SQL Server] Description=Microsoft ODBC Driver 13 for SQL Server Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2 UsageCount=1
内容的提问来源于stack exchange,提问作者kgh
相关产品推荐
相关产品推荐

