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

JDK13下连接Microsoft SQL Server遇集成认证配置错误求助

解决SQL Server JDBC集成认证加载sqljdbc_auth.dll失败的问题

嘿,我来帮你搞定这个连接问题!从你给出的错误日志来看,核心问题是JVM找不到正确的sqljdbc_auth.dll文件,或者驱动版本和JDK不兼容,咱们一步步来解决:

1. 升级JDBC驱动至兼容JDK13的版本

你当前使用的sqljdbc4@2.0是比较老旧的驱动版本,仅支持到JDK 8,完全不兼容JDK13。建议你更换为支持JDK13的Microsoft SQL Server JDBC驱动,比如mssql-jdbc 9.2.x及以上版本(该版本支持JDK 8到JDK 16)。

2. 确保sqljdbc_auth.dll位数与JDK匹配

  • 先确认你的JDK13位数:打开命令行执行 java -version,如果输出包含64-Bit字样,就是64位JDK,反之则是32位。
  • 下载对应位数的dll:新的mssql-jdbc驱动包中,dll文件位于sqljdbc_<版本>\enu\auth\x64(64位)或x86(32位)目录下,不要选错版本。

3. 正确放置dll文件(三种方法选其一即可)

  • 方法一:放到你已尝试的JDKbin目录(C:\Program Files\Java\jdk-13\bin),但要确保放入的是对应位数的dll。
  • 方法二:放到系统PATH目录中,64位dll放C:\Windows\System32,32位dll放C:\Windows\SysWOW64,让系统自动识别。
  • 方法三:启动程序时手动指定dll路径,在运行命令中添加-Djava.library.path参数,示例:
    java -Djava.library.path="C:\path\to\your\dll\directory" de.mySampleCode.jdbc.SampleCode
    

4. 确认连接URL配置正确

你的JDBC连接URL必须包含integratedSecurity=true参数,示例如下:

String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=YourDatabaseName;integratedSecurity=true;";

附:你提供的错误日志

2019年10月30日 上午10:00:33 com.microsoft.sqlserver.jdbc.AuthenticationJNI WARNING: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication.
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2338)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1929)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at sqljdbc4@2.0/com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at jdbc/de.mySampleCode.jdbc.SampleCode.main(SampleCode.java:26)

按照上面的步骤逐一排查,应该就能解决这个问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:29:00