【发布时间】:2012-10-27 09:26:44
【问题描述】:
我正在尝试运行以下代码:
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();
}
}
}
我的 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 Failed: Native SSPI library not loaded. Check the java.library.path system property.
at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1893)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:588)
... 6 more
我已经阅读了为什么通常会发生这种情况,并发现了一个类似的问题here,但这似乎不起作用。运行代码时,我包含以下参数来定位 SSO 文件:
-Djava.library.path=/Tester/jdbc/x64/SSO
这是我文件的结构
**Tester**
*src*
default package
Connect.java
*JRE System Library*
*jdbc*
conf
html
IA64
x64
SSO
ntlmauth.dll
x86
你能看出什么不对吗?
【问题讨论】:
-
文件夹
Tester是否位于根文件夹中? -
Tester 是我在 Eclipse 中创建的 java 项目的名称。它就在我的工作区中。
-
尝试指定包含ntlmauth.dll的文件夹的绝对路径
-
我用绝对路径 C:\Users\nos1001\workspace\Tester\jdbc\x64\SSO 尝试过,但我仍然收到相同的消息
标签: java sql-server jdbc ioerror