eclipse,Dreamweaver,都连接不上SQL server而且我已经打过SP4补丁
C:\Documents and Settings\xuxin>telnet 127.0.0.1 1433
正在连接到127.0.0.1...不能打开到主机的连接, 在端口 1433: 连接失败C:\Documents and Settings\xuxin>netstat -anActive Connections  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:6059           0.0.0.0:0              LISTENING
  TCP    61.51.69.244:1373      219.133.48.104:80      ESTABLISHED
  TCP    127.0.0.1:1025         0.0.0.0:0              LISTENING
  TCP    192.168.0.1:139        0.0.0.0:0              LISTENING
  UDP    0.0.0.0:445            *:*
  UDP    0.0.0.0:1027           *:*
  UDP    0.0.0.0:1110           *:*
  UDP    0.0.0.0:1533           *:*
  UDP    0.0.0.0:6000           *:*
  UDP    0.0.0.0:6001           *:*
  UDP    0.0.0.0:6002           *:*
  UDP    0.0.0.0:6003           *:*
  UDP    0.0.0.0:6004           *:*
  UDP    0.0.0.0:6005           *:*
  UDP    0.0.0.0:6006           *:*
  UDP    0.0.0.0:6007           *:*
  UDP    0.0.0.0:6008           *:*
  UDP    0.0.0.0:6009           *:*
  UDP    0.0.0.0:6010           *:*
  UDP    0.0.0.0:6011           *:*
  UDP    127.0.0.1:1028         *:*
  UDP    127.0.0.1:1078         *:*
  UDP    127.0.0.1:1122         *:*
  UDP    127.0.0.1:1788         *:*
  UDP    192.168.0.1:53         *:*
  UDP    192.168.0.1:67         *:*
  UDP    192.168.0.1:68         *:*
  UDP    192.168.0.1:137        *:*
  UDP    192.168.0.1:138        *:*这是程序代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class TestSql {public static void main(String[] args) throws ClassNotFoundException, SQLException {
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xuxin";
String user="sa";
String pass="sa";
Class.forName(driver);Connection conn = DriverManager.getConnection(url,user,pass);
String sql="select * from userinfo";
PreparedStatement pstt = conn.prepareStatement(sql);
ResultSet rs = pstt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt(1)+"\t"+rs.getString(2));
}
conn.close();
}}这个是报错信息:Exception in thread "main" 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 SQL.TestSql1.main(TestSql1.java:17)
谢谢大家```帮帮我!!!

解决方案 »

  1.   

    就是sp4补丁没装 以前我也遇见过着问题
    自己看看你sqlserver版本吧  
    select @@version
      

  2.   

    还是没解决,数据库开了,telnet 127.0.0.1 1433 不会连接不上了,但是感觉还是没有连接数据库
      

  3.   

    这是数据联接的问题,进我的Blog看看吧,有相关的资料!blog.csdn.net/softj/
      

  4.   

    Mic SQL Server数据库在Win2000和2003上面一般是好用的,不必打SP4和SP3补丁。打补丁是因为SQL Server这个东西容易中蠕虫王病毒(症状:你一上网,大家就都上不了网了)    但是如果你是用的是JDBC连接(如楼主这样),那么你首先要看你是否在WebServer(如Tomcat)上安装了JDBC文件(3个jar包),然后再看你是否设置了混合登录模式。如果这两个都做到了那一般就一定会好用(WinXp除外)。    如果是WindowsXP,那你就要多查一些资料了,好像是必须安装SP3以上级别的补丁,的安装SQLServer个人版,安装JDBC包,还要设为混合模式,最重要的还要看自己的代码写对没有,呵呵!
      

  5.   

    另外,如果你是WinXP的用户,即使上面的都做了,也未必成功!
      

  6.   

    最好不要那么写java代码,应该写成javaBean风格,这样应该好一点!你把你的这些代码放到:
    try{
         Class.forName(driver);     Connection conn = DriverManager.getConnection(url,user,pass);
         String sql="select * from userinfo";
         PreparedStatement pstt = conn.prepareStatement(sql);
         ResultSet rs = pstt.executeQuery();
         while(rs.next()){
            System.out.println(rs.getInt(1)+"\t"+rs.getString(2));
            }
    conn.close();
    }catch(Exception e){
       out.print(e.getMessage());
    }
    这样就可以捕获异常了!你试试以下代码:(我用的是MySQL)
     try{
         Connection con;
         Statement stmt;
         ResultSet rs;
         //加载驱动程序,下面的代码为加载MySQL驱动程序
         Class.forName("com.mysql.jdbc.Driver");
         //注册MySQL驱动程序
         DriverManager.registerDriver(new com.mysql.jdbc.Driver());
         //用适当的驱动程序连接到数据库
         String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";
         String dbUser="rdjuser";
         String dbPwd = "12345";
         //建立数据库连接
         con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);
         //创建一个JDBC声明
         stmt = con.createStatement();
         //增加新记录
         //stmt.executeUpdate("INSERT INTO books(id,name,title,price) VALUES('289','baobao','Tomcat Bible',44.5)");
         //查询记录
         rs=stmt.executeQuery("SELECT * from books ");
         //输出查询结果
         out.println("<center><table border = 1 width = 400>");
         while(rs.next())
         {
         String  col1 = rs.getString(1);
         String col2 = rs.getString(2);
         String col3 = rs.getString(3);
         float col4 = rs.getFloat(4);
        
         col1 = new String(col1.getBytes("ISO-8859-1"),"GB2312");
         col2 = new String(col2.getBytes("ISO-8859-1"),"GB2312");
         col3 = new String(col3.getBytes("ISO-8859-1"),"GB2312");
        
         out.println("<tr><td>" + col1 +"</td><td>" + col2 + "</td><td>" + col3 + "</td><td>" + col4 + "</td></tr>");
         }
         out.println("</table></center>");
        
         //删除新增加的记录
         //stmt.executeUpdate("DELETE FROM books WHERE id = '546'");
        
         //关闭数据库接连
         rs.close();
         stmt.close();
         con.close();
          }
          //捕获错误信息
          catch(Exception e){
           out.println(e.getMessage());
          }
      

  7.   

    建议重装sqlserver或系统,我曾遇到过这种问题,重装sqlserver不能解决问题的话就重做系统
      

  8.   

    winxp 上sqlserver的问题
    如果本地运行的话,可以改为ODBC-JDBC连数据库
      

  9.   

    操作系统是windows xp,SQL Server 2000 数据库要打SQL Server 2000 sp3 补丁,否则连接数据库 会报“Exception in thread "main" java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.”以前开发时候用的是windows 2000,后来实施客户机器是winxp,总是报Error establishing socket错,后来一查原来是winxp sp补丁的问题,数据库打好SQL Server 2000 sp3 补丁就可以了
      

  10.   

    我也有过这种问题,不过在我重新安装了SQL Server 后,就可以连接上数据库了。感觉上应该是数据库的原因。
      

  11.   

    谢谢大家给我这么多的建议,上面所说的,我都看过了,我是系统就是XP的,真的要重装系统?而且我打的是SP4补丁,今天我在学校电脑上重试了一次安装SQL server和打SP4补丁,连接数据库一直正常,证明我的操作是正确的,但是我电脑就是连接不上数据库,真头痛!我再按你们说的去做做,谢谢你们了,好了马上给分,现在就可以在线等候!
      

  12.   

    装sqlserver的sp3补丁,把登陆数据库的用户设置为混合验证模式,数据库也要社成混合模式
    这样就可以了,我用的就是xp的,就用这两步就可以
      

  13.   

    sqlserver用查询分析器进入后有个选项要打开,具体不记得了
    实在不行装个mysql一样学习呀