最近在做JSP调用ORACLE存储过程时出现问题,因为存储过程中使用了游标,因此要用到<%@ page import="oracle.jdbc.driver.OracleTypes" %>
源程序如下:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@ page import="oracle.jdbc.driver.OracleTypes" %>
<%
Connection conn = null;
CallableStatement cs = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException ce){
out.println(ce.getMessage());
}
try{
String url="jdbc:oracle:thin:@localhost:1521:orcl";
conn=DriverManager.getConnection(url,"system","system");
cs = conn.prepareCall("{call gradetest.page_test(? )}");
        cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.setInt(1, 14);
cs.execute();
        ResultSet rs=(ResultSet)cs.getObject(1);
        if(rs.next()){
out.print("<TR><TD>"+rs.getString("xuehao")+"</TD>");
out.print("<TD>"+rs.getString("xingming")+"</TD>");
out.print("<TD>"+rs.getString("yumen")+"</TD>");
out.print("<TD>"+rs.getString("shuxue")+"</TD>");
out.print("<TD>"+rs.getString("yingyu")+"</TD></TR>");
}}
catch(SQLException e){
out.print(e.getMessage());
}
finally{
cs.close();
conn.close();
}
在编译时发现<%@ page import="oracle.jdbc.driver.OracleTypes" %>和OracleTypes.CURSOR报错
是怎么回事啊???/
已可连接ORACLE数据库了.

解决方案 »

  1.   

    已把CLASS12.jar包放到了站点的lib目录下
      

  2.   

    你要知道JSP指令只是对JAVA兼容,可oracle.jdbc.driver.OracleTypes是ORACLE的东西,你怎么能import呢,报错是必须的。即使在代码块中也不能直接用ORACLE的语法包呀。你要用ORACLE语法包的东西,可以在connection方法里直接用,不需要import的。
      

  3.   

    第一步:项目中ojdbc14.jar和classes12.jar 这两个包
            右键项目名称->选择build path->选择 Add libraries
    第二步:<%@ page import="oracle.jdbc.driver.*" %>完美解决报错问题我今天遇到这个问题了  就这样解决的 cstmt.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);红色为报错地方已经解决