Mac连接SQL Server报错Unable to load authentication DLL mssql-jdbc_auth-10.2.1.x64求解决方案
Mac系统连接SQL Server报错
Unable to load authentication DLL mssql-jdbc_auth-10.2.1.x64的解决方案 问题本质
Windows系统依赖的mssql-jdbc_auth-xxx.x64.dll是Windows平台专属动态链接库,Mac系统需要使用对应架构的mssql-jdbc_auth-10.2.1.x64.dylib文件,直接复用Windows的dll文件无效。
具体解决步骤
- 下载与你使用的
mssql-jdbc驱动版本完全匹配的安装包,解压后找到mssql-jdbc_auth-10.2.1.x64.dylib文件(版本号必须与报错中的10.2.1一致)。 - 选择以下任一方式放置dylib文件:
- 放到JDK目录:找到你的JDK安装路径(例如
/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home),将dylib文件放入jre/lib/server目录下。 - 放到系统默认动态库目录:将dylib文件复制到
/usr/local/lib目录,该目录是Mac系统默认加载动态库的路径,无需额外配置环境变量。
- 放到JDK目录:找到你的JDK安装路径(例如
- 若选择自定义路径存放dylib,需配置环境变量:
- 打开终端,根据使用的shell编辑配置文件:
- Bash用户:
open ~/.bash_profile - Zsh用户:
open ~/.zshrc
- Bash用户:
- 添加一行配置:
export DYLD_LIBRARY_PATH=/你的dylib文件所在路径:$DYLD_LIBRARY_PATH - 执行
source ~/.bash_profile或source ~/.zshrc使配置生效。
- 打开终端,根据使用的shell编辑配置文件:
- 若使用IDE连接(如IntelliJ IDEA),可直接在VM选项中添加参数指定路径:
-Djava.library.path=/你的dylib文件所在路径,无需修改系统环境变量。
注意事项
- 必须保证
mssql-jdbc驱动版本和dylib文件版本完全一致,版本不匹配会导致加载失败。 - 确认你的JDK是64位版本,与dylib文件的
x64标识对应。 - 操作完成后重启Java应用或IDE,再尝试连接SQL Server。
内容的提问来源于stack exchange,提问作者DeeP
相关产品推荐
相关产品推荐

