2

RefCursorOracle ストアド プロシージャの入力パラメータとしてa を使用しようとしています。アイデアは、レコードのグループを選択し、それらをストアド プロシージャにフィードしてから、SP が input をループし、RefCursorそのレコードに対していくつかの操作を行うことです。いいえ、SP 内のレコードを選択できないためRefCursor、入力タイプとして使用する必要がありません。

これを行う方法の例を見つけました(これはリンクになりますが、まだ使用できないようです)Oracleのドキュメントですが、単純なSELECT入力を使用していますRefCursor。そこに問題があります。コードから入力する必要があります。

ほら、コードで私はこれを持っています:

[OracleDataParameter("P_INPUT", OracleDbType.RefCursor, ParameterDirection.Input)]
private List<MiObject> cursor;

そして、カーソルList<T>DataTable、さらには の単純な配列を入力しようとしましたがMyObject、何も機能しません。テストを実行しようとすると、エラーが発生します。

「無効なパラメータ リンク」

スペイン語から翻訳しているので、正確な言い回しではないかもしれませんが、それがメッセージです

何か案は?

4

3 に答える 3

3

私はまた、私の投稿にリンクしようとした記事の著者であるMark Williamsとも連絡を取り合っており、彼は次のように親切に返答してくれました。

「私にメールを送っても問題ありませんが、これについての私の答えには失望すると思います。

残念ながら、実行しようとしていることを実行することはできません(そのようなクライアントからrefcursorを作成します)。

これに関するいくつかの問題は、リフレクターがサーバー上でOracleが所有するメモリを参照し、OracleにはDataTableや.NETリストなどのクライアント項目の概念がないことです。

refcursorを使用する以外に利用できるオプションはありますか?「」

だから基本的に私は困惑していて、この質問は閉じられています。読んだり、助けようとしたりしてくれてありがとう。

于 2009-06-01T13:05:06.180 に答える
0

oracletechnetからpl/sqlへの入力としてrefcursorのこのサンプルを見てください。

重要なのは、入力refcursorオブジェクトはoracle自身が作成する必要があるということです。リストなどをrefcursorに変換することはできません。

于 2009-08-08T21:32:20.640 に答える
0

記憶からOracleCursor、ODP.NET ライブラリのどこかに動作するクラスはありませんか?

于 2009-06-01T07:57:57.420 に答える