【发布时间】:2014-01-16 16:36:24
【问题描述】:
我正在尝试调用 oracle 数据库函数。输入是 CLOB,输出是字符串值(状态)。下面是代码:payload 是一个 Clob。
<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="UpdateError" queryTimeout="-1" connector-ref="DatabaseNCS" doc:name="Database">
<jdbc-ee:query key="UpdateError"
value="Call #[output;string;out] := dbpk_bxf_media.track_pse_errors(#[message.payload])"/>
</jdbc-ee:outbound-endpoint>
我没有得到预期的输出“OK”。当我编写自定义 java 代码时,这没有任何问题。这是输出日志(注意输出是 ORA-22922:不存在的 LOB 值): 我想知道我做错了什么以及解决此问题的任何方法。谢谢!
CallableSqlCommandExecutor:SQL:{调用? := dbpk_bxf_media.track_pse_errors(?) } 输入参数:[oracle.sql.CLOB@1fbb2176] CallableSqlCommandExecutor:注册输出参数:{ Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor:执行:{ 调用? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor:命令执行成功:{ Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor:处理结果集:{ Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor:处理的结果集:0 CallableSqlCommandExecutor:处理输出参数:{ Call ? := dbpk_bxf_media.track_pse_errors(?) } ExecuteSqlStatementStrategy:获得的结果:{output=ORA-22922:不存在的 LOB 值}【问题讨论】:
-
该功能的规格是什么?此外,该功能是否进行任何交易? (提交/回滚)
-
函数不做任何事务处理。当我从 Mule 的自定义 Java 代码中调用它时它工作正常