java.library.path 中没有 mssql-jdbc_auth-8.2.1.x64

新手上路,请多包涵

我正在尝试连接到我的 Maven 项目中的 SQL DB,但不断出现以下异常:

“com.microsoft.sqlserver.jdbc.SQLServerException:此驱动程序未配置集成身份验证。…”,“.. 原因:java.lang.UnsatisfiedLinkError:java 中没有 mssql-jdbc_auth-8.2.1.x64。图书馆.路径….“。

我已经尝试了 java.library.path 中没有 sqljdbc_authUnsatisfiedLinkError: java.library.path 中没有 sqljdbc_auth 的建议,但它对我不起作用。

我已经把 sqljdbc_auth.dll 的路径放在:

  1. 全局 PATH 变量 全局 PATH 变量截图

  2. C:\Program Files\Java\jdk-13.0.2\bin C:\Program Files\Java\jdk-13.0.2\bin 截图

  3. 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 许可协议

阅读 1k
1 个回答

我遇到了同样的问题,我花了好几个小时才弄明白。

  1. 确保将 mssql-jdbc_auth-8.2.1.x64 文件而不是 sqljdbc_xa.dll 文件复制到 C:\Program Files\Java\jdk-13.0.2\bin folder 中。根据您的 bin 文件夹的屏幕截图,我认为这不是问题所在。

  2. 重新启动 Eclipse 并再次运行它。我在运行 eclipse 的情况下将文件复制到 bin 文件夹中,但没有成功。只有在我重新启动 eclipse 后,驱动程序才开始正常工作。

原文由 kylejw2 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题