You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pyodbc连接SQL Server失败:无法打开指定驱动库文件

pyodbc连接SQL Server驱动加载失败问题

问题现象

执行以下Python代码连接SQL Server时:

pyodbc.connect(f'DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={host};DATABASE={db};UID={user};PWD={pwd};TrustServerCertificate=yes;')

报错:Can't open lib '/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.3.so.1.1’

但使用isql命令却能正常连接:

isql -v -k “DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={host};DATABASE={db};UID={user};PWD={pwd};TrustServerCertificate=yes;”

已尝试操作

  • 将SQL Server驱动路径添加到LD_LIBRARY环境变量中

环境与配置信息

系统与依赖版本

  • RHEL 8
  • Python 3.9.10
  • pyodbc==4.0.39

命令输出

  1. 执行odbcinst -q -d的输出:
[ODBC Driver 18 for SQL Server]
[ODBC Driver 17 for SQL Server]
  1. 执行odbcinst -j的输出:
$ odbcinst -j unixODBC 2.3.7
DRIVERS. . . .......: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES /etc/ODBCDataSources
SQLULEN Size........:8
SQLLEN Size.........:8
SQLSETPOSIROW Size.: 8
  1. /etc/odbcinst.ini文件内容:
[ODBC Driver 18 for SQL Server]
Description=Microsoft ODBC Driver 18 for SQL Server
Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.3.so.1.1
UsageCount=1

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1
UsageCount=1
  1. Python补充信息:
import pyodbc

pyodbc.drivers()
# ['ODBC Driver 18 for SQL Server', 'ODBC Driver 17 for SQL Server']

pyodbc.dataSources()
#{}

内容的提问来源于stack exchange,提问作者nolio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:42:41