下面的问题怎么解决?谢谢!!
[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:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.lzw.dao.Dao.<clinit>(Dao.java:41)
at com.lzw.login.Login$2.actionPerformed(Login.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.lzw.dao.Dao.getUser(Dao.java:120)
at com.lzw.login.Login$2.actionPerformed(Login.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

解决方案 »

  1.   

    1. 确保sql server 2000升到sp4了
    2. Dao.java:120行出现空指针异常, 调试一下,不行的话就把代码贴出来
      

  2.   

    打了sp4补丁还是有这种情况
    我用的是jdk1.6.0_06,配置如下:
    用户环境变量:
    CLASSPATH=.;C:\Program Files\Java\jdk1.6.0_06\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_06\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_06\lib\mysql-connector-java-3.1.14-bin-g.jar;C:\Program Files\Java\jdk1.6.0_06\lib\mysql-connector-java-3.1.14-bin.jar
    系统环境变量:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_06
    Path=%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN
      

  3.   

    数据库连接代码有问题或者是SQL服务器的端口不是默认的1433。Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
    String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=pub";
        String user="sa"; 
        String password="password";
        Connection conn = DriverManager.getConnection(url,user,password);
        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        String sql = "select * from table_A";
        ResultSet rs=stmt.executeQuery(sql);
      

  4.   

    1.
    在cmd 下试试可不可以连接1433
    telnet 127.0.0.1 1433     2.
    可以则看看打了sp4补丁没有3.
    连接的url 有没有问题
      

  5.   

    确保你的数据库正在运行,查看你的端口1433是不是在监听的状态中使用netstat -on在dos命令下查看一下.
      

  6.   

    1、确保SQL Server 2000 打了SP3以上的补丁
    2、确保驱动是对应SPX的
    3、确保驱动在classpath中(三个Jar包)
      

  7.   

    另外还有一种情况
    确保你的 SQL Server 2000 是以混合模式安装的
    XP 系统下非混合模式安装会有莫名其妙的问题,我就试过
      

  8.   

    确保sql server 2000升到sp3以上,我以前也出现过这样的错误,我的原因是没有升级,当然还要做一些配置,比如环境的配置。 
      

  9.   

    http://www.java2000.net/p394
    基本包括了所有的情况 
    参照下吧
      

  10.   


    telnet 127.0.0.1 1433    
    提示:不能打开到主机的连接,在端口1433:连接失败
    以前我都试过,也没有这种情况啊?  
      

  11.   

    常见的三种可能
    1.SQL Server没启动,需启动SQL服务
    2.SQL Server没打补丁,打上SP3或SP4补丁.建议打SP3补丁,稳定性高,驱动建议用jtds驱动
    3.防火墙屏蔽了SQL Server端口,需开放SQL服务端口(1433默认)