我用的是tomcat5.0和sqlserver2000,   可是数据库老是连不上
用的测试代码:
<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <body> <%   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";    String user="sa";    String password="sa";    Connection conn= DriverManager.getConnection(url,user,password);    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);    String sql="select * from xt_user";    ResultSet rs=stmt.executeQuery(sql);    while(rs.next())    {%>        您的第一个字段内容为:<%=rs.getString(1)%>        您的第二个字段内容为:<%=rs.getString(2)%> <%   }%> <%out.print("数据库操作成功,恭喜你");%> <%   rs.close();    stmt.close();    conn.close(); %> </body> </html>
错误:The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /test.jsp:1916: 
17:    String password="sa"; 
18: 
19:    Connection conn= DriverManager.getConnection(url,user,password); 
20: 
21:    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
22: 
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
org.apache.jsp.test_jsp._jspService(test_jsp.java:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
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(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.apache.jsp.test_jsp._jspService(test_jsp.java:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)net.sourceforge.jtds.jdbc.driver还用装吗?
是 不是我装的sqlserver2000没打补丁,得重新下最新的吗?

解决方案 »

  1.   

    完全有可能是sql server没有补丁! 再说一下tomcat和sqlserver的连接没有关系,主要就是驱动程序和你的sqlserver的关系,与tomcat没有关系
      

  2.   

    用netstat -an 查看 本地有没有打开1433端口
    没有得话,就是 看看是不是补丁
      

  3.   

    端口打一开了
    我打了sp3补丁   怎么用呀   要装到sqlserver2000安装目录下吗?
      

  4.   

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC
    把JDBC驱动包复制到项目里面就OK了````SQLSERVER的JDBC驱动包``````
      

  5.   

    我的原来也是怎么也连接不上 后来把tomcat5换成了tomcat6就可以了