代码如下: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请高手指点一下,不胜谢意
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请高手指点一下,不胜谢意
解决方案 »
- hibernate中,增改删记录,在线等
- 多线程 的类成员 引用的问题
- 有没有什么线程池可以提供强行终止其中所有线程的功能,那个concurrent里面的不行啊
- 查局域网在线的机子
- 初学java,请帮忙解决一下数据库建表这边的问题,谢谢啦!(在线等待!)
- 关于类Properties问题
- String的getBytes()问题请教,谢谢!
- 高分,求java application 应用程序原代码(初学参考)
- public String myFunction(String myName, int myAge = 10){} 的问题。
- 怎样对一个文件里的内容进行修改???急……
- 向ORACLE插入clob的错误,大家指点。
- 如何加载JDBC?
如果你这个是返回CURSOR类型的则改成cstmt.registerOutParameter(4,oracle.jdbc.OracleTypes.CURSOR);
当然是classes12.zip/jar啦,包名都有了还不清楚???