我也认为是通讯问题,重装sqlserver试试

解决方案 »

  1.   

    我用查询分析器连到sqlserver没有问题,用c#做的程序连上也没有问题,用jdbc-odbc桥连接也没有问题,唯独使用微软的jdbc驱动有问题。并且察看驱动程序附带的说明(部分内容如下)后,发现编号为1026189的bug已经修复了,但是却仍然出现。     MSfixes.txt
         Microsoft SQL Server 2000 Driver for JDBC
         Service Pack 2
         Version 2.2.0037
         August 2003
         Modifications from Beta 1 to Beta 2, December 2001 to February 2002Issue # | Description of Issue1025718 | Statement.setQueryTimeout() is not supported, but 
    Statement.getQueryTimeout() returns an error.1026189 | java.sql.SQLException: [Microsoft][SQLServer JDBC 
    Driver]Error establishing socket.……那位高手能解?
      

  2.   

    应该是JDBC驱动程序版本的问题!
      

  3.   

    这是最新版的驱动程序。
    微软公司的网站上提供两个版本的驱动程序,jdbc driver sp1和sp2,我都试过,不行。除了微软的驱动程序,还能换别的什么驱动程序?我想不出来。我想如果访问sqlserver最好是用微软的驱动程序。
      

  4.   

    你的这个文件是不是一个web开发中的一个文件啊?
    如果是
    看看是不是有专门的数据库配置文件
    有可能是配置文件和你的程序调用不符合
      

  5.   

    to publicshj(public):这个类是可以单独执行的,不用放在web环境中。
      

  6.   

    进"客户端网络实用工具"看看是否用了tcp/ip连接.
      

  7.   

    试一试装一下SP4补丁
    或者要末就可能是
    软件之间的冲突
    或者sql server 2000 
    的版本问题
      

  8.   

    new com.microsoft.jdbc.sqlserver.SQLServerDriver();
        建议还是不要直接用new来注册驱动程序,那样可能造成同一个类的重复注册.
    这样可能造成许多未知错误.用下面的可能会好些:
    String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    Class.forName(driver).newInstance();