2017-03-01 16 views
0

データベース内のSQLストアド・プロシージャに直接接続されたODIにストアド・プロシージャがあります。ストアドは正しく実行されます。ストアドプロシージャを実行すると、出力変数 "var_esito"の値を取得するにはどうすればよいですか?Oracle Data Integratorでストアド・プロシージャの結果を読み取る方法ODI

enter image description here

+0

場合var_esitoは、ストアド・プロシージャのOUTパラメータです.ODIプロシージャのPL/SQLブロックから直接アクセスできます。それがあなたが探しているものでない場合は、あなたが「価値を検索する」という意味をより正確にする必要があります。どこで取得しますか?どの範囲? – JeromeFr

+0

これは私が探しているものです。どのように直接アクセスできますか?結果値を表示する方法を理解できません –

+0

'var_esito'を使用するステートメントでPL/SQLブロックに行を追加するだけです。たとえば、 '即時実行 'INSERT INTO my_table(my_column)VALUES(:p1)' var_esito; 'を使用します。 – JeromeFr

答えて

0

それはあなたがreceved値を使用する方法によって異なります。とにかく、ODIプロシージャでは2つのタスクが必要です。

最初のタスクは、プロシージャをコールし、値をセッション・コンテキストに格納します。 2番目のタスクは値を取得し、同じまたは他のデータベースで実行される他のPL/SQLブロックでその値を使用します。

値もJavaの変数に割り当てることができます。

Target: 
<@ 
    String var_esito = "#VAR_ESITO"; 
@> 

このJava変数は、次のように(ODI-変数割り当てを含む)、セッション中にどこでも使用することができます

<@[email protected]> 
関連する問題