2017-06-01 1 views
-3

私はOracleで新しく、戻り値REF_CURSORから列を取得するためのソリューションを構築したいと思います。DBにデータベースオブジェクトを作成するにはいくつかの制限があります。 ストアドプロシージャを呼び出して、C#スクリプトでREF_CURSORデータを返します。Cを使用してOUT REF_CURSORから列を取得する

+1

コードを投稿できますか?回答を得る機会を増やすために[良い質問をする方法](https://stackoverflow.com/help/how-to-ask)を見てください。 – Sandman

+0

ODP.NETを使用し、http://docs.oracle.com/cd/B19306_01/win.102/b14307/featRefCursor.htmを参照してください。 –

答えて

0

あなたのバックエンドの手順は次のようなものが考えられます。

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が赤目や血まみれの牙であなたのドアをノックします。

関連する問題