我正在尝试连接到我的 Maven 项目中的 SQL DB,但不断出现以下异常:
“com.microsoft.sqlserver.jdbc.SQLServerException:此驱动程序未配置集成身份验证。…”,“.. 原因:java.lang.UnsatisfiedLinkError:java 中没有 mssql-jdbc_auth-8.2.1.x64。图书馆.路径….“。
我已经尝试了 java.library.path 中没有 sqljdbc_auth 和 UnsatisfiedLinkError: java.library.path 中没有 sqljdbc_auth 的建议,但它对我不起作用。
我已经把 sqljdbc_auth.dll 的路径放在:
全局 PATH 变量 全局 PATH 变量截图
C:\Program Files\Java\jdk-13.0.2\bin C:\Program Files\Java\jdk-13.0.2\bin 截图
pom.xml(作为 surefire 插件依赖项中的配置) pom.xml 截图
这是我的代码:
public class JDBC {
@Test
public void test() throws SQLException, ClassNotFoundException {
String UserName="sa";
String Password="Error911";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String DB_URL ="jdbc:sqlserver://localhost:1433;databaseName=QADB;integratedSecurity=true;";
//OR by using ip
//DB_URL ="jdbc:sqlserver://192.168.0.104;databaseName=QADB;integratedSecurity=true;";
Connection con = DriverManager.getConnection(DB_URL, UserName, Password);
}
}
控制台输出中的异常:
com.microsoft.sqlserver.jdbc.SQLServerException:此驱动程序未配置集成身份验证………………………………..
…引起:java.lang.UnsatisfiedLinkError:java.library.path 中没有 mssql-jdbc_auth-8.2.1.x64:[C:\Users\Automation\Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\enu \auth\x64].. ….
原文由 liu 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了同样的问题,我花了好几个小时才弄明白。
确保将
mssql-jdbc_auth-8.2.1.x64
文件而不是sqljdbc_xa.dll
文件复制到C:\Program Files\Java\jdk-13.0.2\bin folder
中。根据您的 bin 文件夹的屏幕截图,我认为这不是问题所在。重新启动 Eclipse 并再次运行它。我在运行 eclipse 的情况下将文件复制到 bin 文件夹中,但没有成功。只有在我重新启动 eclipse 后,驱动程序才开始正常工作。