-3
私はOracleで新しく、戻り値REF_CURSOR
から列を取得するためのソリューションを構築したいと思います。DBにデータベースオブジェクトを作成するにはいくつかの制限があります。 ストアドプロシージャを呼び出して、C#スクリプトでREF_CURSOR
データを返します。Cを使用してOUT REF_CURSORから列を取得する
私はOracleで新しく、戻り値REF_CURSOR
から列を取得するためのソリューションを構築したいと思います。DBにデータベースオブジェクトを作成するにはいくつかの制限があります。 ストアドプロシージャを呼び出して、C#スクリプトでREF_CURSOR
データを返します。Cを使用してOUT REF_CURSORから列を取得する
あなたのバックエンドの手順は次のようなものが考えられます。
procedure my_proc(
p_id in number,
p_cursor out sys_refcursor
) is
begin
open p_cursor for
select col1, col2, col3
from my_table
where id = p_id;
end my_proc;
そして、あなたのC#スクリプトで使用すると、第二の出力などのパラメータ(方向= ParameterDirection.Output)とタイプを設定し、2パラメータの呼び出しを宣言OracleDbType.RefCursor(オブジェクト/クラスの先頭に「Oracle.DataAccess.Client」および「Oracle.DataAccess.Types」という名前空間を追加することを忘れないでください)。
データ・リーダーと接続を忘れないようにしてください。そうしないと、DBAが赤目や血まみれの牙であなたのドアをノックします。
コードを投稿できますか?回答を得る機会を増やすために[良い質問をする方法](https://stackoverflow.com/help/how-to-ask)を見てください。 – Sandman
ODP.NETを使用し、http://docs.oracle.com/cd/B19306_01/win.102/b14307/featRefCursor.htmを参照してください。 –