各位:
     我在用JSP访问SERVER 2000的时候,怎么会出现'The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.'等提示
javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.test_jsp._jspService(test_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
java.sql.DriverManager.getConnection(DriverManager.java:525)
java.sql.DriverManager.getConnection(DriverManager.java:171)
org.apache.jsp.test_jsp._jspService(test_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802
等提示,请问是哪出了问题啊,JDBC我都已经配置好了的啊

解决方案 »

  1.   

    给点个人意见:
      1.如果你用的xp系统.检查一下你是否安装了sql的xp升级包;
      2.检查一下你的sql server 注册属性.是否是用sql server 身份验证;
      

  2.   

    输入命令 netstat -n看看你的数据库断口是否对外开发和监听(1433,1434等) 
      

  3.   

    查看一下你的连接的字符串~有可能url出错了
      

  4.   

    1,通过url连接的时候指定的服务器名称或者服务器地址不正确,这一点你可以通过ping来验证。
    2,指定的服务器上的sql server的服务没有启动,你可以通过sql server的查询工具来验证这个问题。
    3,指定端口错误,sql server的默认端口是1433。
    4,sql server没有提供tcp/ip的服务,你可以通过sql server的管理工具来查看这个问题。5,如果你的系统是 windows XP 或者 Windows 2003,那么你的sql server一定要升级到sp3以上.
      

  5.   

    大多数人都遇到过这样的问题!给点个人意建,我想还是用MYSQL吧,这样还比较好用一点,它与JSP搭配比较好哟!换一下试试看!
      

  6.   

    <%@ page import="java.lang.*,java.io.*,java.sql.*,java.util.*" contentType="text/html;charset=gb2312"%>
    <html>
    <body>
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
     String user="sa";
     String password="";
     Connection conn=DriverManager.getConnection(url,user,password);
     Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
       String sql="select * from stu";
       ResultSet rs=stmt.executeQuery(sql);
       while(rs.next())
             {%>
    你的第一个字段内容为:<%=rs.getString(1)%><br>
                  %>
              <%  } %>
              <%out.print("数据库操作成功");%>
              <%rs.close();
                stmt.close();
                conn.close();
                %>
    </body>
    </html>  这就是整个程序啊
      

  7.   

    javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.我也是这个错误,弄了好久没有解决
      

  8.   

    打sp3补丁,貌似低版本不对JSP开放端口的!