問題タブ [odp.net-managed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
237 参照

c# - Oracle ODP.NET を使用して PARSE_CALLS を削減する (またはカーソルを再利用する)

ODP.NET からクエリを実行すると、呼び出しごとに V$SQL が PARSE_CALL を実行することがわかります。見る:

戻り値:

v$SQL の結果

同じ OracleCommand を再利用して Prepare を呼び出しましたが。

ここに私の.NETコードがあります:

Parse_Calls の数を減らすにはどうすればよいですか? これらすべての繰り返し実行のためにOracleにサーバー側のカーソルを保持させ、コマンドを破棄するときにそれを破棄する方法はありますか?

Oracle.ManagedDataAccess.dll バージョン 4.122.1.20170624 を使用しています

0 投票する
1 に答える
331 参照

.net - エンタープライズ ライブラリで管理される ODP.Net を使用している場合、OUT refcursor を使用してストアド プロシージャを実行する際の問題

管理されたODP.Net with Enterprise Libraryを使用して、複数 (3) のストアド プロシージャを 1 つずつ実行しようとしています。各ストアド プロシージャは、それぞれ「 cur_out 」という名前のOUT カーソルを返します。奇妙なことに、最初のストアド プロシージャは常にレコードを返しますが、その後、残りの 2 つの SP に対して ExecuteDataSet() を呼び出してもレコードは返されません。これは System.Data.OracleClient で完全に機能するため、ストアド プロシージャ自体に問題がないことはわかっています。これらの SP が何も返さない理由がわかりません。以下は私のサンプルコードです:

誰かがここで何が欠けているか指摘できますか? 別の方法でできることはありますか?単一のストアド プロシージャで複数の参照カーソルを返す問題がある Oracle 12c DB を使用しているため、これらを個別に実行してから、結果を単一のデータセットに結合する必要があることに注意してください。