此驱动程序未配置为集成身份验证

Kha*_*lam 5 java sql-server servlets glassfish sqljdbc

尝试使用sqljdbc41for将我的 Java Web 应用程序与 MS-SQL 服务器连接起来jdk 1.8。这是数据库连接代码-

    Connection connection;
    String url = "jdbc:sqlserver://localhost:1433;databaseName=Lista;integratedSecurity=true";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    connection = DriverManager.getConnection(url);
Run Code Online (Sandbox Code Playgroud)

当我尝试向数据库中插入一些值时,例如 -

    PreparedStatement ps = connection.prepareStatement("INSERT INTO user_informations VALUES(?,?,?)");

    ps.setString(1, "value");
    ps.setString(2, "value");
    ps.setString(3, "value");

    ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

每次都收到以下错误-

com.microsoft.sqlserver.jdbc.SQLServerException: 此驱动程序未配置为集成身份验证

以下是有关我尝试过的内容的一些信息-

  • sqljdbc41在路径变量中添加了路径。
  • sqljdbc_auth.dll在路径变量中添加了路径。
  • 我已将其添加sqljdbc41.jar到我的Nebeans项目库中。
  • 我已经添加了sqljdbc_auth.dll下到两个bin文件夹jdkjre
  • jdk就是64 bit在Program Files文件夹没有程序文件(x86)的。
  • jdbc 驱动程序文件夹也在程序文件目录中。
  • sql server 和 sql server 浏览器服务也在运行。

编辑

现在我遇到了一个新事物 - 在我第一次部署项目时重新启动我的电脑后,它运行良好,但是当我对代码进行任何更改并重新运行该项目时,它无法正常工作!

Kha*_*lam 3

我解决了我的问题!

我收到的错误(在我上面的问题中描述)是因为glassfish服务器没有任何sqljdbc42.jar文件访问权限。所以我已将sqljdbc42.jar文件放入我的glassfish服务器中的这个位置-

glassfish-4.1\glassfish\domains\domain1\lib

现在它运行得很好。

谢谢大家!