jsp连接Sql Server7.0/2000数据库 出错!!!
<%@ 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";
//pubs为你的数据库的
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 test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
root cause
javax.servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.database_jsp._jspService(database_jsp.java:76)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
问题点数:0、回复次数:14Top
1 楼ljux(狼居胥)回复于 2004-01-12 22:52:10 得分 0
和我的错误一模一样Top
2 楼whodsow(天上星亮晶晶永灿烂长安宁)回复于 2004-01-12 23:07:01 得分 0
com.microsoft.jdbc.sqlserver.SQLServerDriver不能被找到吧,
你把数据库的驱动器放哪儿呢?应该放在lib下面吧。
Top
3 楼wjfxiao(野渡无人舟自横)回复于 2004-01-13 00:51:24 得分 0
ms的jdbc驱动不能用于sqlserver7.0
把三个jar文件放到classpath里,如果是tomcat服务器,还要拷贝到tomcat\common\lib目录下Top
4 楼King6860()回复于 2004-01-13 09:19:29 得分 0
你应该倒入这个类:com.microsoft.jdbc.sqlserver.SQLServerDriverTop
5 楼mxlmwl(飞星)回复于 2004-01-14 15:56:10 得分 0
将三个jar包msbase.jar、mssqlserver.jar、msutil.jar拷贝到tomcat的WEB-INF\lib目录下,然后重新启动tomcat服务器即可。Top
6 楼mxlmwl(飞星)回复于 2004-01-14 15:58:31 得分 0
tomcat还有一个lib目录,也可能是这个目录,你可以在tomcat的目录中查找servlet.jar,然后把以上三个文件放到和servlet.jar相同的目录中即可。那个目录可能就是楼上所说的common/lib目录。具体是哪个,你试验一下吧,我记不清了。很有可能就是这个目录。Top
7 楼Lauxy(lxy)回复于 2004-01-22 22:42:18 得分 0
mxlmwl(飞星) 说的非常正确Top
8 楼icebound1()回复于 2004-01-23 11:06:07 得分 0
classpath你设置对了吗?Top
9 楼hzxbl(紫色尘埃VR版)回复于 2004-01-30 12:51:04 得分 0
要重新启动服务器!!!!!切记!!!Top
10 楼CoolAbu(阿卜-Never Stop(★★★★))回复于 2004-01-30 13:10:19 得分 0
你把msbase.jar、mssqlserver.jar、msutil.jar三个文件Copy到jdk的lib文件夹下,然后把Tomcat服务重启。
可能2000的驱动Sqlserver7用不了,不行就去微软的网站下一个合适的驱动。Top
11 楼dwju1981(灭日屠美(杜蕾丝超薄装优惠促销))回复于 2004-01-31 11:24:28 得分 0
ms的jdbc驱动不能用于sqlserver7.0
把三个jar文件放到classpath里,如果是tomcat服务器,还要拷贝到tomcat\common\lib目录下
正确,先去下载一个?
Top
12 楼lisbjing(孤身一人)回复于 2004-02-04 11:52:52 得分 0
1.安装jdk在c:\jdk1.3下面。
2.安装tomcat在c:\tomcat下面。
3.安装jdbc fro ,默认安装在C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC下面,将此目录下的lib目录里的三个jar文件copy到C:\jdk1.3\lib下面。
4."我的电脑"-->"高级"-->"环境变量"
a.在用户变量里点"新建",在弹出的窗口中,在变量名里输入path,在变量值里输入c:\jdk1.3;c:\jdk1.3\bin;c:\tomcat
b.在系统变量里点"新建",在弹出的窗口中,在变量名里输入JAVA_HOME,在变量值里输入C:\jdk1.3
在系统变量里点"新建",在弹出的窗口中,在变量名里输入TOMCAT_HOME,在变量值里输入C:\tomcat
在系统变量里点"新建",在弹出的窗口中,在变量名里输入CLASSPATH,在变量值里输入c:\jdk1.3\lib\tools.jar;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\msbase.jar;c:\jdk1.3\lib\mssqlserver.jar;c:\jdk1.3\lib\msutil.jar;c:\tomcat;.
5.运行C:\tomcat\bin\startup.bat启动tomcat。
6.编写下面的程序保存为:C:\tomcat\webapps\ROOT\index.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from employee";
ResultSet rs=stmt.executeQuery(sql);
%>
<table cellspacing=0 bordercolordark=#ffffff cellpadding=2 width="90%" bgcolor=#f0f0f0 bordercolorlight=#e0e0e0 border=1 align="center" height="100%">
<%
while(rs.next())
{
%>
<tr>
<td width="40%"> <%=rs.getString("fname")%></td>
<td width="20%"> <%=rs.getString("minit")%></td>
<td width="40%"> <%=rs.getString("lname")%></td>
</tr>
<%
}
%>
</table>
<%
out.print("数据库操作成功,恭喜你");
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
6.在浏览器里输入http://localhost:8080/index.jspTop
13 楼lisbjing(孤身一人)回复于 2004-02-04 11:55:08 得分 0
1.安装jdk在c:\jdk1.3下面。
2.安装tomcat在c:\tomcat下面。
3.安装jdbc for sql,默认安装在C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC下面,将此目录下的lib目录里的三个jar文件copy到C:\jdk1.3\lib下面。
4."我的电脑"-->"高级"-->"环境变量"
a.在用户变量里点"新建",在弹出的窗口中,在变量名里输入path,在变量值里输入c:\jdk1.3;c:\jdk1.3\bin;c:\tomcat
b.在系统变量里点"新建",在弹出的窗口中,在变量名里输入JAVA_HOME,在变量值里输入C:\jdk1.3
c.在系统变量里点"新建",在弹出的窗口中,在变量名里输入TOMCAT_HOME,在变量值里输入C:\tomcat
d.在系统变量里点"新建",在弹出的窗口中,在变量名里输入CLASSPATH,在变量值里输入c:\jdk1.3\lib\tools.jar;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\msbase.jar;c:\jdk1.3\lib\mssqlserver.jar;c:\jdk1.3\lib\msutil.jar;c:\tomcat;.
5.运行C:\tomcat\bin\startup.bat启动tomcat。
6.编写下面的程序保存为:C:\tomcat\webapps\ROOT\index.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from employee";
ResultSet rs=stmt.executeQuery(sql);
%>
<table cellspacing=0 bordercolordark=#ffffff cellpadding=2 width="90%" bgcolor=#f0f0f0 bordercolorlight=#e0e0e0 border=1 align="center" height="100%">
<%
while(rs.next())
{
%>
<tr>
<td width="40%"> <%=rs.getString("fname")%></td>
<td width="20%"> <%=rs.getString("minit")%></td>
<td width="40%"> <%=rs.getString("lname")%></td>
</tr>
<%
}
%>
</table>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
6.在浏览器里输入http://localhost:8080/index.jspTop
14 楼mxlmwl(飞星)回复于 2004-02-04 12:10:20 得分 0
很简单,将sql server的三个驱动jar包放到tomcat/webapps/ROOT/WEB-INF/lib目录下,然后重新启动服务器就可以了。如果lib目录没有,就自己建一个。Top




