代码如下:import java.sql.*;
import java.sql.Types;public class Test4 { public static void main(String[] args) {
Connection con=null;  try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){System.out.println("class.forname");}
try
{  con= DriverManager.getConnection("jdbc:oracle:thin:@172.16.7.9:1521:DB","pm","pm");
CallableStatement cstmt=con.prepareCall("{ call gzz_kessaibunsyorefer.pst_getsheetlist(?,?,?,?,?)}");

cstmt.setString(1,"A04000000002");
cstmt.setString(2,"02");
cstmt.setString(3,"0501"); cstmt.registerOutParameter(4,Types.OTHER); cstmt.registerOutParameter(5,Types.VARCHAR);
cstmt.execute();
String permission=cstmt.getString(5);
System.out.println(permission); con.close();
}
catch(SQLException e1){
e1.printStackTrace();
System.out.println("DB_error");}
}
}
运行时的错误如下:
java.sql.SQLException: 列の型が無効です。
at oracle.jdbc.dbaccess.DBError.throwSqlException(Ljava.lang.String;Ljava.lang.String;I)V(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(ILjava.lang.Object;)V(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(I)V(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.get_internal_type(I)I(OracleStatement.java:6433)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameterBytes(IIII)V(OracleCallableStatement.java:244)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(IIII)V(OracleCallableStatement.java:393)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(II)V(OracleCallableStatement.java:462)
at jp.co.nttdata.infogrid.prompt.business.anken.paz_pr0305._009.Test4.main([Ljava.lang.String;)V(Test4.java:35)
DB_error请高手指点一下,不胜谢意

解决方案 »

  1.   

    cstmt.registerOutParameter(4,Types.OTHER);
    如果你这个是返回CURSOR类型的则改成cstmt.registerOutParameter(4,oracle.jdbc.OracleTypes.CURSOR);
      

  2.   

    注,存储过程中前3个是输入参数都是char型,后两个是输出,其中一个是游标类型,还有一个是varchar2类型
      

  3.   

    请继续帮忙,这个该从哪个包里import呢?oracle.jdbc.OracleTypes.CURSOR
      

  4.   

    weblogic里有,,oracle 的jdbc驱动里有..
      

  5.   

    Oracle的JDBC驱动程序啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    当然是classes12.zip/jar啦,包名都有了还不清楚???