oracle的存储过程为什么会报 java.sql.SQLException: Ref 游标无效呀?

这是xml

<resultMap id="result_report_QDHW_05"        class="com.sunyard.csr.vo.Report_QDHW_05">
        <result property="TIME_KEY"            column="TIME_KEY"/>
        <result property="AGENT_ID"            column="AGENT_ID"/>
        <result property="AGENT_NAME"            column="AGENT_NAME"/>
        <result property="RESULT_01"            column="RESULT_01"/>
        <result property="RESULT_02"            column="RESULT_02"/>
        <result property="RESULT_03"            column="RESULT_03"/>
        <result property="RESULT_04"            column="RESULT_04"/>
        <result property="RESULT_05"            column="RESULT_05"/>
        <result property="RESULT_06"            column="RESULT_06"/>
        <result property="RESULT_07"            column="RESULT_07"/>
        <result property="RESULT_08"            column="RESULT_08"/>
        <result property="RESULT_09"            column="RESULT_09"/>
        <result property="RESULT_10"            column="RESULT_10"/>
        <result property="RESULT_11"            column="RESULT_11"/>
        <result property="RESULT_12"            column="RESULT_12"/>
        <result property="RESULT_13"            column="RESULT_13"/>
        <result property="RESULT_14"            column="RESULT_14"/>
    </resultMap>
<parameterMap id="parameter_report_QDHW_05" class="java.util.HashMap" >    
        <parameter property="BEGIN_DATE"             jdbcType="VARCHAR"     javaType="java.lang.String"     mode="IN"/>
        <parameter property="END_DATE"             jdbcType="VARCHAR"     javaType="java.lang.String"     mode="IN"/>
        <parameter property="STAFF_ID"             jdbcType="VARCHAR"     javaType="java.lang.String"     mode="IN"/>
        <parameter property="STAFF_NAME"             jdbcType="VARCHAR"     javaType="java.lang.String"     mode="IN"/>
        <parameter property="start"     jdbcType="VARCHAR"     javaType="java.lang.String"     mode="IN"/>
        <parameter property="limit"        jdbcType="VARCHAR"     javaType="java.lang.String"     mode="IN"/>
        <parameter property="ret_code"                jdbcType="VARCHAR"    javaType="java.lang.String"        mode="OUT"/>
        <parameter property="ret_message"                jdbcType="VARCHAR"    javaType="java.lang.String"        mode="OUT"/>
        <parameter property="countall"                jdbcType="VARCHAR"    javaType="java.lang.String"        mode="OUT"/>
        <parameter property="cur_ret"                jdbcType="ORACLECURSOR"    javaType="java.sql.ResultSet"      mode="OUT" resultMap="result_report_QDHW_05"/>
    </parameterMap>        
    <procedure  id="report_QDHW_05" resultClass="java.util.HashMap" parameterMap="parameter_report_QDHW_05">
        {call QD_RPT_HW05(?,?,?,?,?,?,?,?,?,?) }
    </procedure >

这是存储过程

CREATE OR REPLACE PROCEDURE QD_RPT_HW05
 (BEGINDATE IN VARCHAR2,
  ENDDATE IN VARCHAR2,
  AGENTID IN VARCHAR2,
  AGENTNAME IN VARCHAR2,
  start1         IN NUMBER,
  limit1         IN NUMBER,
  AN_O_RET_CODE         OUT NUMBER,
  AC_O_RET_MSG          OUT VARCHAR2,
  COUNTALL              OUT NUMBER,
  CUR_RET               OUT PKG_PUB_UTILS.REFCURSOR
 )
  ----*****************************************************************
  ----过 程 名:SP_RPT_ANSWERLV_DAY
  ----过程描述:
  ----运行系统:话务系统数据库
  ----输入参数:
  ----输出参数:结果集, 错误代码
  ----依赖的过程和函数:
  ----依赖的视图和源表:
  ----编写人员:
  ----创建日期:2016-06-07
  ----修改人员:
  ----修改日期:
  ----修改原因:
  ----代码版本:
  ----公司名称:Sunyard
  ----COALESCE(t1.TIME_KEY, ''总计'') as TIME_KEY,
  ----*****************************************************************
as
  limit2 NUMBER := 0;
  execsql VARCHAR2(4000) :='';
BEGIN
    AN_O_RET_CODE := 0;
    AC_O_RET_MSG  := '操作成功';

  execute IMMEDIATE 'TRUNCATE TABLE TB_RPT_RESULT_ALL';

  execsql :='insert into TB_RPT_RESULT_ALL (TIME_KEY,AGENT_ID,AGENT_NAME,RESULT_01,RESULT_02,RESULT_03,RESULT_04,RESULT_05,RESULT_06,RESULT_07,RESULT_08,RESULT_09,RESULT_10,RESULT_11,RESULT_12,RESULT_13,RESULT_14)
  (select  COALESCE(t1.time_key, ''总计'') as TIME_KEY,COALESCE(t4.LOGINCODE, ''总计'') as AGENT_ID,COALESCE(t4.name, ''总计'') as AGENT_NAME,
        sum(n_inbound) as RESULT_01,
       to_char(trunc(sysdate)+round(case when sum(n_inbound)=0 then 0 else to_number(sum(t_inbound))/sum(n_inbound) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_02,
       to_char(trunc(sysdate)+round(case when sum(n_work)=0 then 0 else to_number(sum(t_work))/sum(n_work) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_03,
       floor(sum(T_LOGIN)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_LOGIN)/(60*60*24),''hh24:mi:ss'') as RESULT_04,
       floor(sum(T_WAIT)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_WAIT)/(60*60*24),''hh24:mi:ss'') as RESULT_05,
       floor(sum(t_inbound)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(t_inbound)/(60*60*24),''hh24:mi:ss'') as RESULT_06,
       floor(sum(T_WORK)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_WORK)/(60*60*24),''hh24:mi:ss'') as RESULT_07,
       floor(sum(T_NOT_READY_TIME)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_NOT_READY_TIME)/(60*60*24),''hh24:mi:ss'') as RESULT_08,
       floor(sum(t_ring_inbound)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(t_ring_inbound)/(60*60*24),''hh24:mi:ss'') as RESULT_09,
       sum(N_OUTBOUND) as RESULT_10,
        to_char(trunc(sysdate)+round(case when sum(n_outbound)=0 then 0 else to_number(sum(t_outbound))/sum(n_outbound) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_11,
       floor(sum(t_outbound)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(t_outbound)/(60*60*24),''hh24:mi:ss'') as RESULT_12,
       to_char(trunc(sysdate)+round(case when sum(n_ring_inbound)=0 then 0 else to_number(sum(t_ring_inbound))/sum(n_ring_inbound) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_13,
       to_char(trunc(sysdate)+round(case when sum(N_NOT_READY)=0 then 0 else to_number(sum(T_NOT_READY_TIME))/sum(N_NOT_READY) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_14
    from GEN_ETL.R_AG_1_DAY@TO_CCGENESYS t1,
      GEN_ETL.O_AG_1_DAY@TO_CCGENESYS t2
      left join TB_SSO_OPER t4
      on t4.WORKID=t2.object_name
      where t1.object_id=t2.object_id and (n_inbound!=0 or N_OUTBOUND!=0)
    and substr(time_key,1,8) >= '''||BEGINDATE||'''
     and substr(time_key,1,8) <= '''||ENDDATE||'''
   and (  '''||agentid||''' =t4.LOGINCODE or '''||agentid||''' = ''ALL'')and t4.LOGINCODE is not null
   and t4.name like ''%'|| AGENTNAME||'%''
      group by (t4.LOGINCODE,t4.name,t1.time_key)
      union all
      select  ''总计'' as TIME_KEY, ''总计'' as AGENT_ID,''总计'' as AGENT_NAME,
       sum(n_inbound) as RESULT_01,
       to_char(trunc(sysdate)+round(case when sum(n_inbound)=0 then 0 else to_number(sum(t_inbound))/sum(n_inbound) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_02,
       to_char(trunc(sysdate)+round(case when sum(n_work)=0 then 0 else to_number(sum(t_work))/sum(n_work) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_03,
       floor(sum(T_LOGIN)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_LOGIN)/(60*60*24),''hh24:mi:ss'') as RESULT_04,
       floor(sum(T_WAIT)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_WAIT)/(60*60*24),''hh24:mi:ss'') as RESULT_05,
       floor(sum(t_inbound)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(t_inbound)/(60*60*24),''hh24:mi:ss'') as RESULT_06,
       floor(sum(T_WORK)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_WORK)/(60*60*24),''hh24:mi:ss'') as RESULT_07,
       floor(sum(T_NOT_READY_TIME)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(T_NOT_READY_TIME)/(60*60*24),''hh24:mi:ss'') as RESULT_08,
       floor(sum(t_ring_inbound)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(t_ring_inbound)/(60*60*24),''hh24:mi:ss'') as RESULT_09,
       sum(N_OUTBOUND) as RESULT_10,
        to_char(trunc(sysdate)+round(case when sum(n_outbound)=0 then 0 else to_number(sum(t_outbound))/sum(n_outbound) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_11,
       floor(sum(t_outbound)/(60*60*24)) || '' ''||to_char(trunc(sysdate)+sum(t_outbound)/(60*60*24),''hh24:mi:ss'') as RESULT_12,
       to_char(trunc(sysdate)+round(case when sum(n_ring_inbound)=0 then 0 else to_number(sum(t_ring_inbound))/sum(n_ring_inbound) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_13,
       to_char(trunc(sysdate)+round(case when sum(N_NOT_READY)=0 then 0 else to_number(sum(T_NOT_READY_TIME))/sum(N_NOT_READY) end, 4)/(60*60*24),''hh24:mi:ss'') as RESULT_14
      from GEN_ETL.R_AG_1_DAY@TO_CCGENESYS t1,
      GEN_ETL.O_AG_1_DAY@TO_CCGENESYS t2
      left join TB_SSO_OPER t4
      on t4.WORKID=t2.object_name
      where t1.object_id=t2.object_id and (n_inbound!=0 or N_OUTBOUND!=0)
      )
      
    ';
  -- execute IMMEDIATE execsql;
  select COUNT (*) INTO COUNTALL from (
  select  COALESCE(t1.time_key, '总计') as TIME_KEY,COALESCE(t4.LOGINCODE, '总计') as AGENT_ID,COALESCE(t4.name, '总计') as AGENT_NAME,
        sum(n_inbound) as RESULT_01,
       to_char(trunc(sysdate)+round(case when sum(n_inbound)=0 then 0 else to_number(sum(t_inbound))/sum(n_inbound) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_02,
       to_char(trunc(sysdate)+round(case when sum(n_work)=0 then 0 else to_number(sum(t_work))/sum(n_work) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_03,
       floor(sum(T_LOGIN)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_LOGIN)/(60*60*24),'hh24:mi:ss') as RESULT_04,
       floor(sum(T_WAIT)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_WAIT)/(60*60*24),'hh24:mi:ss') as RESULT_05,
       floor(sum(t_inbound)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(t_inbound)/(60*60*24),'hh24:mi:ss') as RESULT_06,
       floor(sum(T_WORK)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_WORK)/(60*60*24),'hh24:mi:ss') as RESULT_07,
       floor(sum(T_NOT_READY_TIME)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_NOT_READY_TIME)/(60*60*24),'hh24:mi:ss') as RESULT_08,
       floor(sum(t_ring_inbound)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(t_ring_inbound)/(60*60*24),'hh24:mi:ss') as RESULT_09,
       sum(N_OUTBOUND) as RESULT_10,
        to_char(trunc(sysdate)+round(case when sum(n_outbound)=0 then 0 else to_number(sum(t_outbound))/sum(n_outbound) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_11,
       floor(sum(t_outbound)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(t_outbound)/(60*60*24),'hh24:mi:ss') as RESULT_12,
       to_char(trunc(sysdate)+round(case when sum(n_ring_inbound)=0 then 0 else to_number(sum(t_ring_inbound))/sum(n_ring_inbound) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_13,
       to_char(trunc(sysdate)+round(case when sum(N_NOT_READY)=0 then 0 else to_number(sum(T_NOT_READY_TIME))/sum(N_NOT_READY) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_14
    from GEN_ETL.R_AG_1_DAY@TO_CCGENESYS t1,
      GEN_ETL.O_AG_1_DAY@TO_CCGENESYS t2
      left join TB_SSO_OPER t4
      on t4.WORKID=t2.object_name
      where t1.object_id=t2.object_id and (n_inbound!=0 or N_OUTBOUND!=0)
      and substr(time_key,1,8) >= ''||BEGINDATE||''
      and substr(time_key,1,8) <= ''||ENDDATE||''
      and (  ''||agentid||'' =t4.LOGINCODE or ''||agentid||'' = 'ALL')and t4.LOGINCODE is not null
      and t4.name like '%'|| AGENTNAME||'%'
      group by (t4.LOGINCODE,t4.name,t1.time_key)
  )
      where
   (( AGENT_ID ='总计' and AGENT_NAME ='总计' and TIME_KEY ='总计' )
      or (AGENT_ID<>'总计' and AGENT_NAME<>'总计') )
  ;
  limit2:=limit1;
  if limit1<0 then
    limit2:=COUNTALL;
  end if;
  --/* 结果集返回 */
  OPEN CUR_RET FOR
  SELECT * FROM ( SELECT  ROWNUM AS ROW_NUM,TT.* FROM (
select  COALESCE(t1.time_key, '总计') as TIME_KEY,COALESCE(t4.LOGINCODE, '总计') as AGENT_ID,COALESCE(t4.name, '总计') as AGENT_NAME,
        sum(n_inbound) as RESULT_01,
       to_char(trunc(sysdate)+round(case when sum(n_inbound)=0 then 0 else to_number(sum(t_inbound))/sum(n_inbound) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_02,
       to_char(trunc(sysdate)+round(case when sum(n_work)=0 then 0 else to_number(sum(t_work))/sum(n_work) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_03,
       floor(sum(T_LOGIN)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_LOGIN)/(60*60*24),'hh24:mi:ss') as RESULT_04,
       floor(sum(T_WAIT)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_WAIT)/(60*60*24),'hh24:mi:ss') as RESULT_05,
       floor(sum(t_inbound)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(t_inbound)/(60*60*24),'hh24:mi:ss') as RESULT_06,
       floor(sum(T_WORK)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_WORK)/(60*60*24),'hh24:mi:ss') as RESULT_07,
       floor(sum(T_NOT_READY_TIME)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(T_NOT_READY_TIME)/(60*60*24),'hh24:mi:ss') as RESULT_08,
       floor(sum(t_ring_inbound)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(t_ring_inbound)/(60*60*24),'hh24:mi:ss') as RESULT_09,
       sum(N_OUTBOUND) as RESULT_10,
        to_char(trunc(sysdate)+round(case when sum(n_outbound)=0 then 0 else to_number(sum(t_outbound))/sum(n_outbound) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_11,
       floor(sum(t_outbound)/(60*60*24)) || ' '||to_char(trunc(sysdate)+sum(t_outbound)/(60*60*24),'hh24:mi:ss') as RESULT_12,
       to_char(trunc(sysdate)+round(case when sum(n_ring_inbound)=0 then 0 else to_number(sum(t_ring_inbound))/sum(n_ring_inbound) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_13,
       to_char(trunc(sysdate)+round(case when sum(N_NOT_READY)=0 then 0 else to_number(sum(T_NOT_READY_TIME))/sum(N_NOT_READY) end, 4)/(60*60*24),'hh24:mi:ss') as RESULT_14
    from GEN_ETL.R_AG_1_DAY@TO_CCGENESYS t1,
      GEN_ETL.O_AG_1_DAY@TO_CCGENESYS t2
      left join TB_SSO_OPER t4
      on t4.WORKID=t2.object_name
      where t1.object_id=t2.object_id and (n_inbound!=0 or N_OUTBOUND!=0)
      and substr(time_key,1,8) >= ''||BEGINDATE||''
      and substr(time_key,1,8) <= ''||ENDDATE||''
      and (  ''||agentid||'' =t4.LOGINCODE or ''||agentid||'' = 'ALL')and t4.LOGINCODE is not null
      and t4.name like '%'|| AGENTNAME||'%'
      group by (t4.LOGINCODE,t4.name,t1.time_key)
      
   ) TT  WHERE
   (( AGENT_ID ='总计' and AGENT_NAME ='总计'and TIME_KEY ='总计' )
      or (AGENT_ID<>'总计' and AGENT_NAME<>'总计'))
      order by 1, 2) WHERE
   ROW_NUM BETWEEN  start1  AND  limit2
  ;
  EXCEPTION
    WHEN OTHERS THEN
        AN_O_RET_CODE := -1;
        AC_O_RET_MSG  := '错误代码:' || SQLCODE || CHR(13) || '错误信息:' || SQLERRM;
END QD_RPT_HW05;

这是报错信息

ActionServlet................................
action=========================[com.sunyard.csr.action.GetReportAction@1d0f0db]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>{END_DATE=20180822, STAFF_NAME=, limit=10, bbtype=typeday, BEGIN_DATE=20180822, STAFF_ID=qd1999, IS_EXPORT_TYPE=3, session=no, start=0, REPORT_TYPE=report_QDHW_05}
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [17062];   
--- The error occurred in com/sunyard/csr/dao/xml/UserCalReport.xml.  
--- The error occurred while applying a parameter map.  
--- Check the UserCalReport.parameter_report_QDHW_05.  
--- Check the output parameters (retrieval of output parameters failed).  
--- Cause: java.sql.SQLException: Ref 游标无效; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/sunyard/csr/dao/xml/UserCalReport.xml.  
--- The error occurred while applying a parameter map.  
--- Check the UserCalReport.parameter_report_QDHW_05.  
--- Check the output parameters (retrieval of output parameters failed).  
--- Cause: java.sql.SQLException: Ref 游标无效
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:206)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
    at com.sunyard.csr.dao.SqlExecuteDao.queryListSqlInfo(SqlExecuteDao.java:76)
    at com.sunyard.csr.action.GetReportAction.GetJSONData(GetReportAction.java:825)
    at com.sunyard.csr.action.GetReportAction.execute(GetReportAction.java:58)
    at com.sunyard.struts.RequestProcessor.process(RequestProcessor.java:82)
    at com.sunyard.struts.ActionServlet.process(ActionServlet.java:84)
    at com.sunyard.struts.ActionServlet.doPost(ActionServlet.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:662)
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/sunyard/csr/dao/xml/UserCalReport.xml.  
--- The error occurred while applying a parameter map.  
--- Check the UserCalReport.parameter_report_QDHW_05.  
--- Check the output parameters (retrieval of output parameters failed).  
--- Cause: java.sql.SQLException: Ref 游标无效
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.java:123)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:615)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589)
    at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
    at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298)
    at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:296)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203)
    ... 33 more
Caused by: java.sql.SQLException: Ref 游标无效
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
    at oracle.jdbc.driver.OracleStatement.getCursorValue(OracleStatement.java:3851)
    at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:6011)
    at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:5802)
    at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:698)
    at org.apache.commons.dbcp.DelegatingCallableStatement.getObject(DelegatingCallableStatement.java:141)
    at com.ibatis.sqlmap.engine.execution.SqlExecutor.retrieveOutputParameters(SqlExecutor.java:396)
    at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:286)
    at com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:34)
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:173)
    ... 40 more
outString[系统出现异常,系统错误信息:SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [17062];   
--- The error occurred in com/sunyard/csr/dao/xml/UserCalReport.xml.  
--- The error occurred while applying a parameter map.  
--- Check the UserCalReport.parameter_report_QDHW_05.  
--- Check the output parameters (retrieval of output parameters failed).  
--- Cause: java.sql.SQLException: Ref 游标无效; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/sunyard/csr/dao/xml/UserCalReport.xml.  
--- The error occurred while applying a parameter map.  
--- Check the UserCalReport.parameter_report_QDHW_05.  
--- Check the output parameters (retrieval of output parameters failed).  
--- Cause: java.sql.SQLException: Ref 游标无效]
阅读 2.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题