我现在用的是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) 

解决方案 »

  1.   

    可是  我连接mysql数据库没有问题阿!! 驱动也换了几次了,还是不行 难道不支持vista系统么??
      

  2.   

    建议检查tcp/ip设置
    检查1433端口
      

  3.   

    数据库升级了sp3的补丁包你没有搞好呀,呵````````  我以前的问题和你的一样,  多搞几次就搞了呀
    数据库升级了sp3的补丁包
      

  4.   

    给你个地址,按照这里的说明,9成能搞定,再不行就只能说vista的问题了
    http://www.java2000.net/viewthread.jsp?tid=484
      

  5.   

    必须下sqlserver   2000   sp4 补丁,或者使用桥连,估计桥连也不行,建议你换系统。因为我朋友也是Vista操作系统,桥连直连都不行。
      

  6.   

    回答有点晚了,请原谅!
    我以前也遇到过此种情况.后来到网上搜了一下,是因为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) 
    问题解决.
      

  7.   

    版本升级到Microsoft SQL Server  2000 - 8.00.2039,即解决 
      

  8.   

    多多学习,,,http://www.japee.com.cn/jew/pages/Main.aspx
      

  9.   

    1、升级SQL JDBC
    2、修改TCP/IP端口号为1430
    3、防火墙设置
    4、也有可能是OS问题,我以前有碰到过这种问题(相同操作,别人没问题,我的就连不上,不过我用的XP)
    试试……
      

  10.   

    补充一下,也可能是Vista操作系统桌面主题的问题!改个默认的主题或者别的什么的!