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 zbtPackage.zbtDao.getConn(zbtDao.java:25)
at zbtPackage.zbtDao.selectPinpai(zbtDao.java:53)
at zbtPackage.indexservlet.doGet(indexservlet.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
这样的代码,还没考全。
1. 我上网查了下,说是MSSQL版本的问题,要打补丁,我下载了SP4,点了startup.bat,我查看查询分析器的帮助,显示版本是8.00.2039  但是我用select @@version  查看却还是8.00.194  ? why,我的SQL版本到底是什么啊?
2. JSP直连,要导什么包?就一个 important java.sql.*;  吗?
    我下了3个jar驱动包放在我的项目的WEB-INF\lib 里面,再项目里面也导入了。
以上两部都做好了,但运行还是出现上面的异常代码……求教!!

解决方案 »

  1.   

    java连接sqlsver2005和sqlserver2000数据库的驱动是不一样的,连接2000需要的是三个jar,而连2005只需要一个sqljdbc.jar.
      

  2.   

    1,先装SQL SERVER2000(是2000吧)的SP4补丁
    2,把3个JAR包导入工程就可以了
      

  3.   

    回楼上的两位朋友~
    我用的是JB2005 + MSSQL2000
    我的3个jar包再工程的lib里面,项目里面也导入了,就是sql补丁的问题,我用select @@version 查询是8.00.194版本
    而看帮助>关于却是8.00.2039版本!我不知道SP4补丁打成功没,  
    反正这样搞了还是那个异常!!
      

  4.   

    我重启过了……
    再启动项目,还是这个:
    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)
      

  5.   

    请将登录验证模式改为SQL与WINDOWS验证模式
      

  6.   

    你的数据库连接出问题了 
    public Conn() {
        try {
          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
          String url =
              "jdbc:sqlserver://localhost:1433;databaseName=数据库名";
          conn = DriverManager.getConnection(url, "登录名", "密码");
        }
        catch (SQLException ex) {
          ex.printStackTrace();
        }
        catch (ClassNotFoundException ex) {
          ex.printStackTrace();
        }  }
      
      

  7.   

    强烈建议去重新配置的你classpath说明你三个数据库包的路径
      

  8.   

    public class zbtDao {    private Connection conn;
        private PreparedStatement ps;
        private ResultSet rs;    public zbtDao() { //加载
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //桥连驱动
               //  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //直连
              // Class.forName("net.sourceforge.jtds.jdbc.Driver"); --www.fjjsp.com这样写
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
           }
        }    private void getConn() { //连接
            try {
                conn = DriverManager.getConnection("jdbc:odbc:zhibot", "sa", ""); //桥连驱动
        //            conn = DriverManager.getConnection(
        //                    "jdbc:microsoft:sqlserver://localhost:1433;databaseName=zhibot",
        //                    "sa", "");
                //            conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433;DatabaseName=zhibot","sa","");  --www.fjjsp.com这样写        } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }数据源桥连是OK的
    直连却不行,3个jar包也导入了,
    是不是1433端口的问题啊??
      

  9.   

         解决么?你的1433端口通了没, sql安装后默认是开的,如果没拼通肯定是不行的啊。