none
java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded

    คำถาม

  • We are using 10gAS Rel3 for our application and uses SQL Server 2005 for the Database. We would like to use Windows authentication to connect the database to avoid clear text user id and password. We used jtds for the database connection and using the following line in config.xml file.

    property name="url" value="jdbc:jtds:sqlserver://${server}:${port}/${database};appName=${appInfo};domain=abcd" />
    When we try to start the application, we are getting the below error.

    We had tried the following.

    1. Changed the OAS service account to domain user account and included domain user in the admin group.

    2. created a login in SQL Server for the domain server and gave the access to the database.

    3. Copied the ntlmauth.dll in the Windows32/system folder of the Application Server

    4. Restarted the OAS server.

    But still we are getting the same error. Are we missing something?

    Pls let us know the solution for this problem at the earliest as it's critical issue to go in the production.

    Caused by: java.io.IOException: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
    at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1889)
    at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:587)
    ... 39 more
    com.zerobase.rockbase.RockbaseException: Unable to open database connection
    at com.zerobase.rockbase.jdbc.TransactionalConnection.openInternalConnection(TransactionalConnection.java:206)
    at com.zerobase.rockbase.jdbc.TransactionalConnection.open(TransactionalConnection.java:239)
    at com.zerobase.rockbase.jdbc.TransactionalConnectionStack.getNewDBConnection(TransactionalConnectionStack.java:79)
    at com.zerobase.rockbase.jdbc.TransactionalConnectionStack.getDBConnection(TransactionalConnectionStack.java:57)
    at com.zerobase.rockbase.ResourceContext.getDBConnection(ResourceContext.java:225)
    at com.zerobase.rockbase.ResourceContext.getDBConnection(ResourceContext.java:209)
    at com.zerobase.common.session.managers.SessionMana

    29 ธันวาคม 2552 17:51

ตอบทั้งหมด

  • Hi MKN26,

    From the error "Native SSPI library not loaded. Check the java.library.path system property", I assume the issue is caused by that we do not have the "ntlmauth.dll" in the system.

    Please copy the file 'jtds-1.2.2-dist\x86\SSO\ntlmauth.dll' from the unzipped JTDS to "<SQL Developer Home>\jdk\jre\bin" to solve the issue.

    By the way, that should be a issue related to Java development, and not a issue of SQL Server. I would suggest you re-post the question in the Java forum  to get the help.

    Thanks,
    Jin Chen
    Jin Chen - MSFT
    31 ธันวาคม 2552 7:36
    ผู้ดูแล
  • Hi Jin Chen,

    Thanks for the response.

    We are not using SQL Developer.   We use Oracle application server and SQL Server 2005 as Database.  We want to connect the SQL Database from Oracle application server using windows authentication.  With respect to this, what changes we need to do to correct this problem.   I would like to know where to copy the ntlmauth.dll file? Is it on Oracle application server machine or SQL Server machine(we have two servers).

    Thanks.
    8 มกราคม 2553 15:10
  • @MKN26

    I faced the same issue. Here is what you need to do . Following are the assumptions I am making

    1. You are using jDTS JDBC drivers.

    2. SQL Server and Ora appserver are running on windows in the same domain.

    findout the version of the jDTS driver you are using. Then download the jDTS driver form the jDTS site "http://sourceforge.net/projects/jtds/files/jtds/"  in the zip you will see the ntlm.dll file in the folder x86/SSO. take that dll and put it in the jre\bin or jdk\bin of the JVM that your appserver you are using.. then re-start the appserver.

     

    Hope this helps

    19 มกราคม 2554 20:29
  • I had this same error and followed Jinchun Chen's recommendation.

    1.  Computer System Properties -> Advanced -> Environmental Variables

    2.  Look for JAVA_HOME, and make sure you put the ntlmauth.dll in the /bin directory.

    15 มิถุนายน 2555 19:06