java - ORA-08103: object no longer exists: This error is occuring for Oracle Procedure returning Refcursor from MyBatis -


when calling stored procedure in oracle returning refcursor getting error

2011-05-10 03:36:23 dirtiescontexttestexecutionlistener [debug] after test method: context [[testcontext@3a363a36 testclass = accountactivityservicetest, locations = array<string>['classpath:/com/bnymellon/pwb/pfdetails/service/test/test-application-context.xml'], testinstance = com.bnymellon.pwb.pfdetails.service.test.accountactivityservicetest@6d2c6d2c, testmethod = getdata@accountactivityservicetest, testexception = org.springframework.jdbc.uncategorizedsqlexception:  ### error updating database.  cause: java.sql.sqlexception: ora-08103: object no longer exists  ### error may involve com.bnymellon.pwb.pfdetails.persistence.accountactivitymapper.getaccountactivitydata-inline ### error occurred while setting parameters ### cause: java.sql.sqlexception: ora-08103: object no longer exists  ; uncategorized sqlexception sql []; sql state [72000]; error code [8103]; ora-08103: object no longer exists ; nested exception java.sql.sqlexception: ora-08103: object no longer exists  

i using spring mybatis integraton project. version of mybatis 3.0.4

i can see procedure being executed. logs below.

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, null, 2010-01-01(date), 2010-12-31(date), asset classes(string), [all, pyr](string), (string), null 

my mapper xml follows:

<?xml version="1.0" encoding="utf-8"?> <!doctype mapper public "-//mybatis.org//dtd mapper 3.0//en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.bnymellon.pwb.pfdetails.persistence.accountactivitymapper">     <select id="getaccountactivitydata"         parametertype="com.bnymellon.pwb.pfdetails.common.accountactivitydto"         statementtype="callable">         {call pwmwi.pam_transaction_pkg.account_activity(         #{userinstance,mode=in, jdbctype=integer},         #{accountgroupid,mode=in,         jdbctype=integer},         #{accountid,mode=in, jdbctype=varchar},         #{accountid,mode=in, jdbctype=varchar},         #{startdate,mode=in,         jdbctype=date},         #{enddate,mode=in, jdbctype=date},         #{assetclass,mode=in, jdbctype=varchar},         #{transactiontype,mode=in,         jdbctype=varchar},         #{cusipid,mode=in, jdbctype=varchar},         #{ticker,mode=in, jdbctype=varchar},         #{domainlist,mode=out,jdbctype=cursor,javatype=java.sql.resultset,resultmap=aadatamap})}     </select>      <resultmap type="com.bnymellon.pwb.pfdetails.domain.accountactivity"         id="aadatamap">         <result column="ticker" property="ticker" jdbctype="varchar" />         <result column="cusip" property="cusip" jdbctype="varchar" />         <result column="security_name" property="securityname"             jdbctype="varchar"></result>         <result column="asset_class" property="assetclass" jdbctype="varchar" />         <result column="trade_date" property="tradedate" jdbctype="date" />         <result column="settle_date" property="settledate" jdbctype="date" />         <result column="description" property="description" jdbctype="varchar" />         <result column="record_type" property="description" jdbctype="varchar" />         <result column="account_number" property="accountnumber"             jdbctype="varchar" />         <result column="quantity" property="shares" jdbctype="varchar" />         <result column="long_desc" property="transdesc" jdbctype="varchar" />         <result column="port_num" property="indicator" jdbctype="integer" />         <result column="amount" property="amount" jdbctype="varchar" />     </resultmap> </mapper> 

i using mybatis version 3.0.4 , oracle driver jar ojdbc14-10.2.0.3.0.jar

the in , out parameters , data types procedure below:

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     

my dto in java below(omitting setter/getter methods)

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<accountactivity> domainlist; 

any highly appreciated clue less going on , stuck on this.

i've had similar issue .net rather java.

my problem related fact cursor opened based on global temporary table. when changed gtt "on commit preserve rows" "delete rows" worked fine.

see if works you?


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -