0

C# で UDT(オブジェクト) のテーブルである Oracle OUTPUT パラメータを定義および取得する方法を理解しようとしています。

具体的には、C#、.NET 4.0、および Oracle.ManagedDataAccess を使用しています。

この特定の問題の正しい例を見つけることができないようですが、戻り値の型が単純な OracleDBType であり、UDT オブジェクトのテーブルではない、さまざまな同様の提案と解決策を見つけました。

次の例を想定します。

create or replace TYPE  tsv 
as
object ( valuedate date, value binary_double, code number );

create or replace TYPE tsv_array 
as table of tsv;

create or replace procedure sp_example (p_values OUT tsv_array , p_id IN     Varchar2 )
is
  l_values tsv_array;
begin
...
select field1, field2, field3
   bulk collect
   into l_values
   from table(some_stuff);

   p_values := l_values;
end;

いくつかの例に基づいて OacleDbType.Object が役立つかもしれないと考えましたが、私が使用しているものである Oracle.ManagedDataAccess の一部ではないようです。

誰かが私がどうするかについて私を啓発するのを手伝ってもらえますか;

1 - 出力パラメータを適切に定義します (例: new OracleParameter("p_values", OracleDbType.?,...)

2 - 出力パラメーターの UDT の返されたテーブルにアクセス/処理する

あなたの助けに感謝します!

4

1 に答える 1