菜鸟tomcat+sqlserver2000连不上数据库,求教高手!

selvn 2005-08-01 08:38:56
已经把msbase.jar,mssqlserver.jar,msutil.jar考到C:\j2sdk1.4.2_08\lib,
环境变量CLASSPATH为
.;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\lib\mssqlserver.jar;C:\j2sdk1.4.2_08\lib\msutil.jar;C:\j2sdk1.4.2_08\lib\msbase.jar;


jsp的源文件为:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>Guset book</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #CCCCCC;
}
-->
</style></head>
<%! String url, sql; %>
<%! Connection conn; %>
<%! ResultSet rs; %>
<%! Statement stmt; %>
<%! int i; %>
<body>
<div align="center"><font color="#333333" size="5">Guest Book</font></div>
<table width="75%" border="1" align="center" cellpadding="1" cellspacing="0" bordercolor="#666666">
<tr>
<td width="16%" align="center">ID</td>
<td width="16%" align="center">Title</td>
<td width="68%" align="left">Text</td>
</tr>
<%
Try
{
Class.forName("com.Microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName = guestbook";
conn = DriverManager.getConnection(url, "admin", "aaasds"); //establish the connection to the server;
stmt = conn.createStatement();
sql = "select * from MESSAGE";
rs = stmt.executeQuery(sql);
while(rs.next())
{
%>
<tr>
<td width="16%" align="center"><%=rs.getObject(1) %></td>
<td width="16%" align="center"><%=rs.getObject(2) %></td>
<td width="68%" align="left"><%=rs.getObject(3) %></td>
</tr>
<%
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
out.println(e);
}
%>
</table>
</body>
</html>


tomcat出错代码为:
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: Unable to compile class for JSP

An error occurred at line: 29 in the jsp file: /list.jsp
Generated servlet error:
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

An error occurred at line: 29 in the jsp file: /list.jsp
Generated servlet error:
Syntax error, insert ";" to complete Statement

An error occurred at line: 46 in the jsp file: /list.jsp
Generated servlet error:
Syntax error, insert "}" to complete Block

Generated servlet error:
Syntax error on tokens, delete these tokens

Generated servlet error:
Syntax error on token "finally", delete this token


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


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


--------------------------------------------------------------------------------

Apache Tomcat/5.5.9

高手帮忙,在线等!
...全文
172 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
selvn 2005-08-02
  • 打赏
  • 举报
回复
Thanks everybody and your answers!I am in company now and I can not type Chinese here.I will have a try as soon as I go home.And answer you then.
selvn 2005-08-02
  • 打赏
  • 举报
回复
问题解决了,感谢大家的帮助!下面分析一下这次问题:
首先,感谢zyx0328(太极猪三丰),此次问题的解决办法是把Microsoft改为microsoft,就可以接入数据库和读取数据了.
问题解决后我很认真的研究了其他人的回复,发现虽然没有出现上述的许多错误,不过大家的回复还是是我受益匪浅,也使我这个初学者学到了很多东西.
再次谢谢大家!
silverend 2005-08-02
  • 打赏
  • 举报
回复
CLASSPATH 还少加了个:C:\j2sdk1.4.2_08\lib\dt.jar

另外驱动程序的大小写问题,这是厂商定义好的
zyx0328 2005-08-02
  • 打赏
  • 举报
回复
Class.forName("com.Microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

改为

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

包名全部小写,这是java的标准风格
shen11111111 2005-08-02
  • 打赏
  • 举报
回复
把JDBC的三个包放在TOMCAT的COMMAND\LIB下
在JSP页面最上面加上
<%@ import java.lang.*;%>
上海老猫 2005-08-02
  • 打赏
  • 举报
回复
sqlserver sp3补丁打了么?
layueer 2005-08-02
  • 打赏
  • 举报
回复
classpath

E:\j2sdk1.4\lib\tools.jar;E:\j2sdk1.4\lib\dt.jar;E:\Tomcat 5.0\bin;D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;D:\Program Files\Microsoft SQL Server 2000 Driver f or JDBC\lib\msutil.jar
waveseajsp0912 2005-08-02
  • 打赏
  • 举报
回复
如果那三个包导入,你用我以下代码应该就可以了,我已经把数据库名和表名跟你的统一了,里面的字段你自己重新改一下,然后随便插入几个数据,运行后肯定OK!
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*"%>
<html>
<body>
以下是从Ms sql server数据库读取的数据:<hr>
<table border=1>
<tr><td>表单1</td><td>表单2</td><td>表单3</td><td>表单4</td></tr>
<%! String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
%>
<%
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection connection =java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=guestbook","admin","aaasds");
Statement stmt=connection.createStatement();
ResultSet rst=stmt.executeQuery("select * From MESSAGE");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+trans(rst.getString("bookId"))+"</td>");
out.println("<td>"+trans(rst.getString("bookName"))+"</td>");
out.println("<td>"+trans(rst.getString("publisher"))+"</td>");
out.println("<td>"+rst.getFloat("price")+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
connection.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
%>
</table>
</body>
</html>
wzrain 2005-08-01
  • 打赏
  • 举报
回复
没有找到你的驱动,把那三个文件放到你的WEB目录的lib目录下面
selvn 2005-08-01
  • 打赏
  • 举报
回复
原来是Try应该改为try...

但是改了以后连接数据库还是有问题,读不出数据,而且在table前面出现java.lang.ClassNotFoundException: com.Microsoft.jdbc.sqlserver.SQLServerDriver 这句话,还是请高手帮忙啊

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧