0
こんにちは、私のミュールフローのストアドプロシージャからvarchar値を取得できません。それは常にNULL値を返しています。私は同じ順序で、出力パラメータをmuleとストアドプロシージャスクリプトの両方で宣言しています。ここで私のミュールの流れと私が使用しているサンプルストアドプロシージャのスクリプトです。この問題を解決するのを助けてください。前もって感謝します。Muleのストアドプロシージャからvarchar値を取得中に発生する
<db:oracle-config name="Oracle_Configuration" host="localhost" port="1521" instance="xe" user="user1" password="user1" doc:name="Oracle Configuration"/>
<flow name="SPTestFlow">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="1000" timeUnit="DAYS"/>
<logger message="Started" level="INFO" doc:name="Logger"/>
</poll>
<db:stored-procedure config-ref="Oracle_Configuration" doc:name="CostCalculationSP" >
<db:parameterized-query><![CDATA[call user1.CARRINV(:MSG,:CD)]]></db:parameterized-query>
<db:out-param name="MSG" type="VARCHAR"/>
<db:out-param name="CD" type="VARCHAR"/>
</db:stored-procedure>
<logger message="#[payload[MSG]],#[payload[CD]]" level="INFO" doc:name="Logger"/>
</flow>
サンプルストアドプロシージャスクリプト
create or replace PROCEDURE CARRINV
(
MSG OUT VARCHAR2,
CD OUT VARCHAR2
) AS
BEGIN
MSG:='success';
CD:='1';
exception
WHEN OTHERS THEN
MSG:= SQLERRM;
CD:= '0';
END CARRINV;
私はデバッグモードでこのコードを実行しているともデバッガでロガーの前にnull値を見ることができました。 – Jitendra
oracleでストアドプロシージャを実行すると表示される内容を投稿できますか? – jvas
こんにちはJvasさん、私の流れは正しいです。問題は私のoracleドライバで、新しいドライバをインポートした後、私は値を取得できました。ありがとうございました – Jitendra