在Oracle中调用存储过程返回refcursor时,我收到错误
2011-05-10 03:36:23 DirtiesContextTestExecutionListener [DEBUG] After test method: context [[TestContext@3a363a36 testClass = AccountActivityServiceTest,locations = arraysqlException:
### Error updating database. Cause: java.sql.sqlException: ORA-08103: object no longer exists
### The error may involve com.bnymellon.pwb.pfdetails.persistence.AccountActivityMapper.getAccountActivityData-Inline
### The error occurred while setting parameters
### Cause: java.sql.sqlException: ORA-08103: object no longer exists
; uncategorized sqlException for sql []; sql state [72000]; error code [8103]; ORA-08103: object no longer exists
; nested exception is java.sql.sqlException: ORA-08103: object no longer exists
我正在使用Spring MyBatis整合项目. MyBatis的版本是3.0.4
我可以看到程序正在执行.日志如下.
2011-05-10 03:36:16 PreparedStatement [DEBUG] ==> Executing: {call PWMWI.PAM_TRANSACTION_PKG.ACCOUNT_ACTIVITY( ?,?,?)}
2011-05-10 03:36:16 PreparedStatement [DEBUG] ==> Parameters: 1987(Integer),5627(Integer),null,2010-01-01(Date),2010-12-31(Date),All Asset Classes(String),[All,PYR](String),(String),null
我的Mapper XMl如下:
sql.ResultSet,resultMap=aaDataMap})}
我使用的是MyBatis 3.0.4版,我的Oracle驱动程序jar是ojdbc14-10.2.0.3.0.jar
过程的IN和OUT参数及其数据类型如下:
P_USER_INST NUMBER IN
P_GROUP_ID NUMBER IN
P_ENTITY_ID CHAR IN
P_ENTITY_NAME VARCHAR2 (30) IN
P_START_DATE DATE IN
P_END_DATE DATE IN
P_ASSETCLASS CHAR IN
P_TRAN_TYPE CHAR IN
P_PRIMARY_ASSET_ID VARCHAR2 IN
P_TICKER VARCHAR2 IN
P_ACCOUNT_DETAIL_CUR REF CURSOR OUT
Java中的我的DTO如下(省略了setter / getter方法)
private Integer userInstance;
private Integer accountGroupId;
private String accountId;
private Date startDate;
private Date endDate;
private String transactionType;
private String ticker;
private String cusipId;
private String assetClass;
private List
任何帮助都非常受欢迎,因为我不知道发生了什么,并且真正坚持这一点.
最佳答案
我刚刚遇到类似.net而不是Java的问题.
原文链接:https://www.f2er.com/spring/431439.html我的问题与基于全局临时表打开游标的事实有关.当我们从“删除行”将GTT更改为“on commit preserve rows”时,它工作正常.
看看这对你有用吗?