1

大家早上好,

我有一个关于 mule在 MuleEE 3.4 中必须执行Oracle 存储过程时的行为的问题。

在我的应用程序中,我应该调用 Oracle 数据库中的存储过程,并且应该将输入变量(mule 消息 id)传递给它,并且该过程应该在输​​出变量中返回值(0),该输出变量也作为输出变量在存储过程传递. 下面的代码显示了这一点:

<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryTimeout="-1" connector-ref="JdbcConnector" doc:name="Database" queryKey="CallProcedure">
    <jdbc-ee:query key="CallProcedure" value="Call analyze_buffer_sbil_zonali(#[#[message.outboundProperties['massageID']];string;in],#[mules2;int;out])"/>
</jdbc-ee:outbound-endpoint>

问题是当我尝试执行此查询时出现此错误:

Root Exception stack trace:
java.sql.SQLException: Parameter IN or OUT missing in the index:: 2
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
    at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1680)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)

我真的不知道这个异常是怎么抛出的。我遵循 mule 文档(JDBC 传输参考)并尝试了此查询的其他变体,但没有发生任何变化。

我已经停止了开发,如果不使用实现此行为的 Java 类,我不知道如何继续。

有人知道吗?

我期待着听到你的声音,非常感谢你提前

4

0 回答 0