升级OpenSSL到3后ODBC找不到正确版本的问题该如何解决
解决步骤
根本原因是/usr/local/opt/openssl当前指向openssl 3.0的安装路径,ODBC驱动加载动态库时会优先读取该路径下的ssl库,而ODBC Driver 17 for SQL Server不支持openssl 3.0,因此报错。
你可以选择两种方案修复:
方案1:临时指定运行时库路径(不修改全局配置,不影响其他依赖openssl3的程序)
运行连接命令时提前指定openssl 1.1的库路径即可:
DYLD_LIBRARY_PATH=/usr/local/Cellar/openssl@1.1/1.1.1l_1/lib isql -v -k "<connection string>"
方案2:修改全局openssl软链接(永久生效,可能影响依赖openssl3的其他工具)
- 先删除当前指向openssl3的错误软链接:
rm -rf /usr/local/opt/openssl
- 重新创建指向openssl1.1的软链接,注意你本地实际安装的1.1版本为1.1.1l_1,不要用之前旧的1.1.1g路径:
ln -s /usr/local/Cellar/openssl@1.1/1.1.1l_1 /usr/local/opt/openssl
- 验证配置是否生效,执行:
ls -l /usr/local/opt/openssl/lib/libssl.dylib
正常输出应显示软链接指向libssl.1.1.dylib,此时再执行isql连接命令即可正常使用。
内容的提问来源于stack exchange,提问作者Erfan
相关产品推荐
相关产品推荐

