Oracle报错:类型长度大于最大值解决办法
发布时间:2020-12-12 15:40:04 所属栏目:百科 来源:网络整理
导读:java调用以下存储过程时报错: --1.创建一个包,在该包中定义了一个游标类型yh_cursor1 create or replace package testpackage as type test_cursor is ref cursor ; end testpackage; --2.创建存储过程 create or replace procedure sp_13(spNo in number
java调用以下存储过程时报错:--1.创建一个包,在该包中定义了一个游标类型yh_cursor1
create or replace package testpackage as type test_cursor is ref cursor;
end testpackage;
--2.创建存储过程
create or replace procedure sp_13(spNo in number,p_cursor out testpackage.test_cursor) is begin open p_cursor for select * from emp where deptno=spNo;
end sp_13;
console打印的异常信息:java.sql.SQLException: 类型长度大于最大值
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:885)
at oracle.jdbc.driver.T4CMAREngine.buffer2Value(T4CMAREngine.java:2231)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB2(T4CMAREngine.java:1048)
at oracle.jdbc.driver.T4CTTIdcb.receiveCommon(T4CTTIdcb.java:112)
at oracle.jdbc.driver.T4CTTIdcb.receiveFromRefCursor(T4CTTIdcb.java:104)
at oracle.jdbc.driver.T4CResultSetAccessor.unmarshalOneRow(T4CResultSetAccessor.java:165)
at oracle.jdbc.driver.T4CTTIrxd.unmarshal(T4CTTIrxd.java:785)
at oracle.jdbc.driver.T4CTTIrxd.unmarshal(T4CTTIrxd.java:702)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:527)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:180)
at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:783)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1027)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2885)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:2976)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4103)
at com.huihui.test3.OracleTest.main(OracleTest.java:29)
java.sql.SQLException: 违反协议
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:885)
at oracle.jdbc.driver.T4C7Ocommoncall.receive(T4C7Ocommoncall.java:133)
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:385)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:1036)
at com.huihui.test3.OracleTest.main(OracleTest.java:48)
解决办法:用oracle自带ojdbc14.jar (1.5m)替换weblogic81/server/lib下的ojdbc14.jar(1.3m) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |