我现在用的是Vista操作系统,我在测试和sqlserver 2000 sp3 进行连接时,总是不成功,我已经到微软的网站上下载了关于sql2000 sp3 的jdbc 驱动 但是还是不行,在他的网站上说支持的系统中不包含vista 是不是在vista中不支持阿 我用的 jdk1.5 并且我的数据库也是升级了sp3的补丁包! 语法如下:
package com.sun.hacker; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class TestDb {
public static void main(String[] args) {
String url = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String path = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=wffy";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(url);
System.out.println("数据库注册成功");
} catch(ClassNotFoundException e) {
System.out.println("找不到驱动程序 ");
e.printStackTrace();
}
try {
con = DriverManager.getConnection(path,"fis","opirfis");
stmt = con.createStatement();
String sql = "select * from employee_basic";
rs = stmt.executeQuery(sql);
System.out.println("到现在还没有问题出现! ");
while(rs.next()) {
System.out.println(rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
错误提示:
数据库注册成功
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection. <init> (Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.sun.hacker.TestDb.main(TestDb.java:28)
package com.sun.hacker; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class TestDb {
public static void main(String[] args) {
String url = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String path = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=wffy";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(url);
System.out.println("数据库注册成功");
} catch(ClassNotFoundException e) {
System.out.println("找不到驱动程序 ");
e.printStackTrace();
}
try {
con = DriverManager.getConnection(path,"fis","opirfis");
stmt = con.createStatement();
String sql = "select * from employee_basic";
rs = stmt.executeQuery(sql);
System.out.println("到现在还没有问题出现! ");
while(rs.next()) {
System.out.println(rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
错误提示:
数据库注册成功
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection. <init> (Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.sun.hacker.TestDb.main(TestDb.java:28)
检查1433端口
数据库升级了sp3的补丁包
http://www.java2000.net/viewthread.jsp?tid=484
我以前也遇到过此种情况.后来到网上搜了一下,是因为SQL Server 2000的版本问题.
在查询分析器下,执行select @@version 如果结果如下:
Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Personal Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
你得装上 SQL Server 2000 中文版 SP4的补丁.
此时查看,则为:
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Personal Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
问题解决.
2、修改TCP/IP端口号为1430
3、防火墙设置
4、也有可能是OS问题,我以前有碰到过这种问题(相同操作,别人没问题,我的就连不上,不过我用的XP)
试试……