java – ORA-08103:对象不再存在:Oracle发生此错误从MyBatis返回Refcursor

前端之家收集整理的这篇文章主要介绍了java – ORA-08103:对象不再存在:Oracle发生此错误从MyBatis返回Refcursor前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在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的问题.

我的问题与基于全局临时表打开游标的事实有关.当我们从“删除行”将GTT更改为“on commit preserve rows”时,它工作正常.

看看这对你有用吗?

原文链接:https://www.f2er.com/spring/431439.html

猜你在找的Spring相关文章