<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<% 
   Connection con;
   Statement sql;
   ResultSet rs;
   String url;
   try
   {Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   }
   catch(ClassNotFoundException e){out.print("类找不到!");}
   try
   {       
      String sqlString="select cont,report from ab_send where report='DELIVRD' or report='NOREPORT'";
      //url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=absms";
      //String user="sa";
      //String psw="123456";
      out.println("准备工作");
      con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=absms","sa","123456");
      out.println("创建连接对象成功");
      sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
      out.print("执行前OK");     
      rs=sql.executeQuery(sqlString);       
      out.print("<Table Border>");
      out.print("<hr color=red>");     
      out.print("<tr>");
        out.print("<tr><td colspan=20 align=center>所用订制用户的数据信息</td></tr>");
        out.print("<td width=100>"+"用户");
        out.print("<td width=50>"+"密码");
      out.print("</tr>");   
    while(rs.next())
    {
      out.print("<tr>");
        out.print("<td>"+rs.getString(1)+"</td>");
        out.print("<td>"+rs.getString(2)+"</td>");
      out.print("</tr>");
    }    
    out.print("</Table>");
    sql.close();
    con.close();
   }
 catch(SQLException e1){out.println("SQL异常");
 out.println(e1);}
%>
</body>
</html>执行后发现输出
"准备工作 SQL异常 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket."
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=absms","sa","123456");没有执行到.
已经给数据库打了sp4补丁了,1433端口也可以telnet通.究竟是什么问题,求救了啊,急

解决方案 »

  1.   

    String driverName = “com.microsoft.jdbc.sqlserver.SQLServerDriver”;
    String dbURL = “jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs”;
    String userName = “sa”;
    String userPwd = “”;
    Connection dbConn;try {
    Class.forName(driverName);
    dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
    System.out.println(”Connection Successful!”);
    }
    Catch (Exception e) {
    e.printStackTrace();
    }
    保证导入了包后
    这样是没错的,不知道是不是你的.newInstance(); 
      

  2.   

    我把你的改成 
      String   driverName   =  "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
    String   dbURL   =   "jdbc:microsoft:sqlserver://localhost:1433;   DatabaseName=pubs"; 
    String   userName   =   "sa"; 
    String   userPwd   =   "123456"; 
    Connection   dbConn; try   

    Class.forName(driverName); 
    dbConn   =   DriverManager.getConnection(dbURL,   userName,   userPwd); 
    System.out.println("Connection   Successful!"); 

    catch (Exception   e)   { 
    e.printStackTrace(); 
    out.print(e);

    输出java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    你的e.printStackTrace(); 有什么作用啊?包我已经放在%tomcat_home%/common/lib下了,在classpath也增加了
    %TOMCAT_HOME%\common\lib\msutil.jar;
    %TOMCAT_HOME%\common\lib\msbase.jar;
    %TOMCAT_HOME%\common\lib\mssqlserver.jar;问题还是存在
      

  3.   

    DO AS FOLLOWING:
    http://dev.csdn.net/article/70/70360.shtm
    IF QUESTION CONTINUES, PLEASE CALL ME!