jdbc连接oracle出现的错误和异常,希望大家帮帮忙!
我的源程序是search_ok.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java" import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%
//加载驱动程序,下面的代码为加载Pure Java JDBC Driver驱动程序
String sDBDriver="oracle.jdbc.driver.OracleDriver";
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
out.println(e.getMessage());
}
%>
<%!
public ResultSet executeQuery(String sql)
{
//用适当的驱动程序连接到数据库
String url="jdbc.oracle:thin:@172.20.3.54:1521:TMSDB";
//数据库连接对象
Connection conn=null;
//语句对象
ResultSet rs=null;
//创建数据库连接
conn=DriverManager.getConnection(url,"system","sa");
//创建一个JDBC声明
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
return rs;
}
%>
<%!//处理中文问题的自定义函数
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"ISO8859_1");
return temp;
}
catch(Exception e)
{
}
return "null";
}
%>
<%!
public String category(int id)
{
try
{
switch(id)
{
case 0:
return "变电站";
case 2:
return "开闭所";
}
}
catch(Exception e)
{
e.printStackTrace();
}
return "null";
}
%>
<table width="1000" border="0" cellspacing="0" cellpadding="0" align="center">
<tr align="center" valign="middle" bgcolor="#C0C0C0">
<td align="center"><font size=4 color="#FFFFFF" face=隶书>ID</font></td>
<td align="center"><font size=4 color="#FFFFFF" face=隶书>名字</font></td>
<td align="center"><font size=4 color="#FFFFFF" face=隶书>电压等级</font></td>
<td align="center"><font size=4 color="#FFFFFF" face=隶书>类型</font></td>
</tr>
<%
String type;
String strSQL;
type=request.getParameter("type");
strSQL="";
if(type.trim().equals("Biandianzhan")){
strSQL="select * from SUBSTATION where TYPE=0";
}
if(type.trim().equals("Kaibisuo")){
strSQL="select * from SUBSTATION where TYPE=2";
}
if(type.trim().equals("Both")){
strSQL="select * from SUBSTATION order by TYPE asc";
}
//定义关键变量
ResultSet RS=executeQuery(strSQL);
int searchnum=1;
String srch_name;
int id,lever,type_id;
//进行查询,从数据库里取出数据
while(RS.next()){
if(searchnum%2==1){
id=RS.getInt("ID");
srch_name=getStr(RS.getString("NAME"));
lever=RS.getInt("VOLTAGE_LEVEL");
type_id=RS.getInt("TYPE");
out.println("<tr align=center bgcolor=#00FF00>");
out.println("<td align=right><font color=#FFFFFF face=宋体>"+id+"</font></td>");
out.println("<td align=right><font color=#FFFFFF face=宋体>"+srch_name+"</font></td>");
out.println("<td align=right><font color=#FFFFFF face=宋体>"+lever+"</font></td>");
out.println("<td align=right><font color=#FFFFFF face=宋体>"+category(type_id)+"</font></td>");
out.println("</tr>");
searchnum=searchnum+1;
}
else if(searchnum%2==0)
{
id=RS.getInt("ID");
srch_name=getStr(RS.getString("NAME"));
lever=RS.getInt("VOLTAGE_LEVEL");
type_id=RS.getInt("TYPE");
out.println("<tr align=center bgcolor=#00FF00>");
out.println("<td align=right><font color=#FF0000 face=宋体>"+id+"</font></td>");
out.println("<td align=right><font color=#FF0000 face=宋体>"+srch_name+"</font></td>");
out.println("<td align=right><font color=#FF0000 face=宋体>"+lever+"</font></td>");
out.println("<td align=right><font color=#FF0000 face=宋体>"+category(type_id)+"</font></td>");
out.println("</tr>");
searchnum=searchnum+1;
}
}
RS.close();
out.println("<caption>"+"共搜索到<b><font color=Red>"+searchnum+"</font></b>条记录"+"</caption>");
%>
</table>
出现的错误和异常为:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: -1 in the jsp file: null
Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] C:\WebServer\Apache2\Tomcat 4.1\work\Standalone\localhost\examples\jsp\search\search_ok_jsp.java:143: illegal character: \65307
[javac] ^
[javac] 1 error
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
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.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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:562)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)