ibatis中调用存储过程报错
配置文件:<parameterMapid="swapExtractParameters"class="java.util.HashMap"><parameterprope...
配置文件:<parameterMap id="swapExtractParameters" class="java.util.HashMap" >
<parameter property="type_id" javaType="java.lang.Integer" jdbcType="INTEGER" mode="IN" />
<parameter property="code" javaType="java.lang.String" jdbcType="VARCHAR2" mode="IN" />
<parameter property="organ_id" javaType="java.lang.String" jdbcType="VARCHAR2" mode="IN" />
<parameter property="exchstamp" javaType="java.lang.String" jdbcType="VARCHAR2" mode="IN" />
<parameter property="flag" javaType="java.lang.Integer" jdbcType="INTEGER" mode="INOUT" />
</parameterMap>
<procedure id="kyDataMannualExtract" parameterMap="swapExtractParameters">
{call Pkg_Mannual_Extract.p_mannual_extract_result(?,?,?,?,?)}
</procedure>
存储过程:
CREATE OR REPLACE PACKAGE BODY "PKG_MANNUAL_EXTRACT" IS
PROCEDURE p_mannual_extract_result( --手动抽取存储过程
v_type_id IN INTEGER, --业务类型
v_code IN VARCHAR2, --业务号码
v_organ_id IN VARCHAR2, --机构id
EXCH_STAMP IN VARCHAR2, --可疑特征码
v_flag IN OUT INTEGER --程序运行标识位
) is
------判断type_id的值,从而决定走那个分支
/* p_type_id INTEGER;
p_code VARCHAR2(50);
p_organ_id VARCHAR2(12);
p_flag INTEGER;*/
BEGIN
上面是配置文件和存储过程,执行时报如下错误,哪位大神帮忙看一下,谢谢。
严重: Servlet.service() for servlet dispatcherServlet threw exception
org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in org/bussiness/config/ibatis/oraclesqlmap/MannualExtractKyDataSQL.xml.
--- The error occurred while applying a parameter map.
--- Check the MannualExtractKyDataSQL.swapExtractParameters.
--- Check the statement (update procedure failed).
--- Cause: java.sql.SQLException: ORA-04045: 在重新编译/重新验证 FXQ.PKG_MANNUAL_EXTRACT 时出错
ORA-04052: 在查找远程对象 LIS.LCCONT@FXQ_LINK 时出错
ORA-00604: 递归 SQL 级别 2 出现错误
ORA-02019: 未找到远程数据库的连接说明
ORA-06508: PL/SQL: 无法找到正在调用 : "FXQ.PKG_MANNUAL_EXTRACT" 的程序单元 展开
<parameter property="type_id" javaType="java.lang.Integer" jdbcType="INTEGER" mode="IN" />
<parameter property="code" javaType="java.lang.String" jdbcType="VARCHAR2" mode="IN" />
<parameter property="organ_id" javaType="java.lang.String" jdbcType="VARCHAR2" mode="IN" />
<parameter property="exchstamp" javaType="java.lang.String" jdbcType="VARCHAR2" mode="IN" />
<parameter property="flag" javaType="java.lang.Integer" jdbcType="INTEGER" mode="INOUT" />
</parameterMap>
<procedure id="kyDataMannualExtract" parameterMap="swapExtractParameters">
{call Pkg_Mannual_Extract.p_mannual_extract_result(?,?,?,?,?)}
</procedure>
存储过程:
CREATE OR REPLACE PACKAGE BODY "PKG_MANNUAL_EXTRACT" IS
PROCEDURE p_mannual_extract_result( --手动抽取存储过程
v_type_id IN INTEGER, --业务类型
v_code IN VARCHAR2, --业务号码
v_organ_id IN VARCHAR2, --机构id
EXCH_STAMP IN VARCHAR2, --可疑特征码
v_flag IN OUT INTEGER --程序运行标识位
) is
------判断type_id的值,从而决定走那个分支
/* p_type_id INTEGER;
p_code VARCHAR2(50);
p_organ_id VARCHAR2(12);
p_flag INTEGER;*/
BEGIN
上面是配置文件和存储过程,执行时报如下错误,哪位大神帮忙看一下,谢谢。
严重: Servlet.service() for servlet dispatcherServlet threw exception
org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in org/bussiness/config/ibatis/oraclesqlmap/MannualExtractKyDataSQL.xml.
--- The error occurred while applying a parameter map.
--- Check the MannualExtractKyDataSQL.swapExtractParameters.
--- Check the statement (update procedure failed).
--- Cause: java.sql.SQLException: ORA-04045: 在重新编译/重新验证 FXQ.PKG_MANNUAL_EXTRACT 时出错
ORA-04052: 在查找远程对象 LIS.LCCONT@FXQ_LINK 时出错
ORA-00604: 递归 SQL 级别 2 出现错误
ORA-02019: 未找到远程数据库的连接说明
ORA-06508: PL/SQL: 无法找到正在调用 : "FXQ.PKG_MANNUAL_EXTRACT" 的程序单元 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询