Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

This driver is not configured for integrated authentication

Trying to connect my java web application with MS-SQL server using sqljdbc41 for jdk 1.8. Here is the database connection code-

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

when i am trying to insert some values to the database like-

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

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

    ps.executeUpdate();

getting the following error each time-

com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication

Here are some informations about what i have tried yet-

  • i have added the path of sqljdbc41 in the path variable.
  • i have added the path of sqljdbc_auth.dll in the path variable.
  • i have added the sqljdbc41.jar into my Nebeans project library.
  • i have added the sqljdbc_auth.dll into both bin folder under jdk and jre.
  • my jdk is 64 bit under program files folder not in program file(x86).
  • jdbc driver folder is also in program file directory.
  • sql server and sql server browser services are also running.

Edit

Now i experiencing a new thing-after restarting my pc when i deploy the project for the first time then it is working perfectly but when i make any change in my code and re-run the project it's not working!

like image 491
Khairul Islam Avatar asked Sep 12 '15 08:09

Khairul Islam


People also ask

How do I fix this driver is not configured for integrated authentication?

SQLServerException: This driver is not configured for integrated authentication. This generally indicates that the driver can not find the appropriate sqljdbc_auth. dll in the JVM library path. To correct the problem, please use the java.exe -D option to specify the "java.

How do I enable integrated security?

To configure SQL Server for Windows integrated securityRight-click the Users node and select New Database User. In the Database User Properties dialog box, enter domain\username in the Login name box, and then click OK. Additionally, configure the SQL Server to allow all domain users to access the database.

Where is Sqljdbc_auth dll located?

After downloading, you can find the sqljdbc_auth. dll in the auth folder of the downloaded file. Place this sqljdbc_auth. dll in this location C:\Windows\System32, and stop and start the Data Integration platform service using Syncfusion Data Integration manager.


1 Answers

sqljdbc_auth.dll is need to use windows authentication or Kerberos authentication.

Get the dll from Microsoft and install it either by:

  1. drop on application library folder
  2. drop on the java bin folder (attention if you have multiple java installations)
  3. drop the library on some folder and then add the path in the command line:

    java -Djava.library.path=<library path>...
    

The mssql-jdbc driver and the auth dll should be:

  • on the same folder (but not mandatory)
  • both from the same version
  • for the same architecture (x86/x64) JVM is running.

Check also the jdbc compatibility matrix with java versions on the download page.

like image 84
MiguelSlv Avatar answered Oct 16 '22 08:10

MiguelSlv