Python连接SQL Server时ODBC驱动无法打开的问题求助
解决Mac上SQL Server ODBC驱动找不到的问题
1. 确认驱动实际安装状态
先通过终端命令验证驱动文件是否存在:
ls /usr/local/lib/libmsodbcsql.18.dylib
如果返回文件路径,说明驱动已安装;如果提示文件不存在,重新下载安装官方驱动包。
2. 检查unixODBC配置文件
Mac上的unixODBC依赖odbcinst.ini识别驱动,打开配置文件:
open /usr/local/etc/odbcinst.ini
确保文件内包含以下条目(路径需与实际安装一致):
[ODBC Driver 18 for SQL Server] Description=Microsoft ODBC Driver 18 for SQL Server Driver=/usr/local/lib/libmsodbcsql.18.dylib UsageCount=1
若没有该条目,手动添加后保存。
3. 验证驱动管理器能识别驱动
在终端执行命令,查看已注册的ODBC驱动:
odbcinst -q -d
如果输出中包含[ODBC Driver 18 for SQL Server],说明驱动已被识别;若未出现,检查odbcinst.ini的路径和内容是否正确。
4. 调整连接字符串的驱动名称
Mac上部分场景下需使用驱动短名称,修改连接字符串尝试:
connection_string = "Driver={msodbcsql18};Server=xxx.database.windows.net,1433;Database=xxxx;Uid=xxxx;Pwd={Password};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30"
5. 修复驱动文件权限
确保Python环境能读取驱动文件,检查权限:
ls -l /usr/local/lib/libmsodbcsql.18.dylib
若权限不是-rwxr-xr-x,执行以下命令调整:
sudo chmod 755 /usr/local/lib/libmsodbcsql.18.dylib
6. 重新安装驱动(兜底方案)
如果以上步骤无效,卸载现有驱动后重新安装:
# 卸载现有驱动(brew安装的情况) brew uninstall msodbcsql18 mssql-tools18 # 重新安装 brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew update HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
内容的提问来源于stack exchange,提问作者Ellie
相关产品推荐
相关产品推荐

