次の方法で共有


Oracle REF CURSOR

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

メモメモ

動作の中には、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