[英]Mule: Invoking an Oracle stored procedure which returns a table of custom type
[英]Mule returns oracle cursor issue
我的要求是處理從存儲過程返回的多個游標。
這是我的流程,你能建議我如何在騾子中做到這一點?
根異常堆棧跟蹤:java.sql.SQLException:oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)的oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)處的無效列索引.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)+ 3個以上(設置調試級別日志記錄或'-Dmule.verbose.exceptions = true'表示所有內容)
<flow name="get:/snapshot/shippingtable/{identifier}:shippingtable-config" doc:name="get:/snapshot/shippingtable/{identifier}:shippingtable-config">
<set-payload value="#[flowVars.identifier]" doc:name="Set Payload">
</set-payload>
<db:stored-procedure config-ref="Oracle_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[{ call p_sample_proc(:after) }]]></db:parameterized-query>
<db:in-param name="after" type="VARCHAR" value="SQA"/>
<db:out-param name="r1" type="REF"/>
<db:out-param name="r2" type="REF"/>
</db:stored-procedure>
<custom-transformer class="com.guthyrenker.shippingtable.parser.ShippingTableChangedAfterParser" doc:name="Java"/>
</flow>
我認為問題是因為返回的游標不是參數,或者至少你沒有在p_sample_proc
調用中包含它們。 如果存儲過程返回兩個結果集,請嘗試刪除db:out-param
行並從有效負載中獲取結果集。 有效負載應包含從字符串到結果集的映射,其中鍵為resultSet1
和resultSet2
。 HTH,馬科斯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.