次の方法で共有


Oracle REF CURSOR

更新 : November 2007

.NET Framework Data Provider for Oracle は、Oracle REF CURSOR データ型をサポートしています。データ プロバイダを使用して Oracle REF CURSOR を操作するときは、次の動作を考慮する必要があります。

bw9eczdk.alert_note(ja-jp,VS.90).gifメモ :

動作の中には、Microsoft OLE DB Provider for Oracle (MSDAORA) の動作と異なるものがあります。

  • パフォーマンスの理由から、Data Provider for Oracle では、バインドするよう明示的に指定した場合を除き、REF CURSOR データ型が自動的にバインドされることはありません。これは、MSDAORA の場合と同じです。

  • データ プロバイダでは、REF CURSOR パラメータの指定に使用する {resultset} エスケープのような、ODBC エスケープ シーケンスはサポートされていません。

  • REF CURSOR を返すストアド プロシージャを実行するには、CursorOracleType、および OutputDirection を使用して、OracleParameterCollection にパラメータを定義する必要があります。データ プロバイダでは、REF CURSOR のバインドは出力パラメータとしてのみサポートされています。プロバイダは、入力パラメータとしての REF CURSOR はサポートしていません。

  • パラメータ値からの OracleDataReader の取得はサポートされていません。値は、コマンドを実行すると DBNull 型になります。

  • REF CURSOR を使用する CommandBehavior 列挙型値のみが CloseConnection になります (たとえば、ExecuteReader の呼び出し時)。その他の値はすべて無視されます。

  • OracleDataReader 内の REF CURSOR の順序は、OracleParameterCollection 内のパラメータの順序で決まります。ParameterName プロパティは無視されます。

  • PL/SQL の TABLE データ型はサポートされていません。ただし、REF CURSOR は、さらに効果的です。TABLE データ型を使用しなければならない場合、MSDAORA と共に OLE DB .NET データ プロバイダを使用してください。

このセクションの内容

参照

その他の技術情報

Oracle および ADO.NET