相关疑难解决方法(0)

I/O错误:SSO失败:未加载本机SSPI库

我正在尝试运行以下代码:

import java.sql.DriverManager;

public class Connect {
    public static void main(String[] args){
        try{
            String databaseDriver = "net.sourceforge.jtds.jdbc.Driver";
            Class.forName(databaseDriver);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

        try{
            String url = "jdbc:jtds:sqlserver://BHX:1433/Forecast;instance=SQLEPXRESS";
            java.sql.Connection con = DriverManager.getConnection(url);
            System.out.println("Connection");
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的SQL服务器在机器BHX上的端口1433上运行.

我得到的错误信息如下:

java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded. Check the     java.library.path system property.
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:615)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:352)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:185)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Connect.main(Connect.java:14)
Caused by: java.io.IOException: SSO …
Run Code Online (Sandbox Code Playgroud)

java sql-server jdbc ioerror

31
推荐指数
3
解决办法
7万
查看次数

本机库sqljdbc_auth.dll已经加载到另一个类加载器中

我有2个Java Web应用程序需要使用Windows集成身份验证连接到SQL Server数据库.

加载的第一个工作正常,但第二个抛出异常:

Native Library sqljdbc_auth.dll already loaded in another classloader
Run Code Online (Sandbox Code Playgroud)

当我将sqljdbc_auth.dll放在其中一个文件夹中时,会出现上述错误:

  • C:\ WINDOWS\SYSTEM32 \
  • C:\ Program Files\Apache Software Foundation\Tomcat 7.0\bin \

如果我将sqljdbc_auth.dll放在下面的一个文件夹中:

  • 每个Web应用程序的/ WEB-INF/lib目录
  • C:\ Program Files\Apache Software Foundation\Tomcat 7.0\lib \

两个应用程序抛出异常:

Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码加载驱动程序:

Class.forName("jdbc:sqlserver://<HOST>;databaseName=<DBNAME>;integratedSecurity=true;");
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

java sql-server tomcat jdbc windows-authentication

20
推荐指数
1
解决办法
3万
查看次数