当前位置: 代码迷 >> Java Web开发 >> 求助:jdbc连接
  详细解决方案

求助:jdbc连接

热度:425   发布时间:2005-04-20 22:58:00.0
求助:jdbc连接

<%@ 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=test"; //user,password 分别为数据库的用户名及密码 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 userinfo"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%><br> 您的第二个字段内容为:<%=rs.getString(2)%><br> 您的第三个字段内容为:<%=rs.getString(3)%><br> <%}%> <%out.print("数据库连接成功!!!");%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html>

异常如下,请问怎么解决呢?

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
	org.apache.jsp.t1_jsp._jspService(t1_jsp.java:77)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

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.(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.t1_jsp._jspService(t1_jsp.java:47)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

note The full stack trace of the root cause is available in the Tomcat logs.

搜索更多相关主题的帖子: jdbc  

----------------解决方案--------------------------------------------------------
建议换个驱动试一下了,MS的东西做的不是很好,用jtds看看
主要问题是这是一个错误的连接
----------------解决方案--------------------------------------------------------
按装sql2000的sp3补丁问题就解决了,
----------------解决方案--------------------------------------------------------
这是一个连接数据库测试的简单例子,错误显示是数据库连接不成功,可能原因很多,.数据库未开启(相信一般不会犯)'
,jdbc驱动的问题,建议重新放置驱动,换个别的列子,再试试,看有什么错
----------------解决方案--------------------------------------------------------
嘿嘿,重装数据库就可以了~多谢各位。。。
----------------解决方案--------------------------------------------------------

这是SqlServer的一个Bug,估计你用的是xp。你如果在win2000而不是Xp上就没此问题。

如果是winxp sp2或者win2003系统,则需要把sqlserver打给sql server2k sp3补丁。
如果你是winxp(没打sp2)或者win2k则不用打这个补丁就可以连接。
如果不想打sqlserver2k的sp3。可以直接去下jdbc的新驱动,名字是:SQL Server 2000 Driver for JDBC Service Pack 3.rar。用这个驱动就可以了。


----------------解决方案--------------------------------------------------------
  相关解决方案