Поделиться через


Курсоры REF CURSOR в Oracle

Поставщик данных .NET Framework для Oracle поддерживает тип данных REF CURSOR Oracle. При использовании поставщика данных для работы с данными типа REF CURSOR Oracle необходимо учитывать следующие особенности его функционирования.

ПримечаниеПримечание

По некоторым особенностям функционирования он отличается от поставщика Microsoft OLE DB для Oracle (MSDAORA).

  • В целях повышения производительности поставщик данных для Oracle, в отличие от MSDAORA, не выполняет автоматически привязку типов данных REF CURSOR, если это не задано явно.

  • Указанный поставщик данных не поддерживает никаких escape-последовательностей ODBC, включая escape-последовательность {resultset}, используемую для задания параметров REF CURSOR.

  • Чтобы выполнить хранимую процедуру, которая возвращает данные типа REF CURSOR, необходимо определить параметры в OracleParameterCollection с помощью свойства OracleType объекта Cursor и свойства Direction объекта Output. Этот поставщик данных поддерживает связывание данных типа REF CURSOR только в качестве выходных параметров. Этот поставщик не поддерживает данные типа REF CURSOR как входные параметры.

  • Получение модуля OracleDataReader из значения параметра не поддерживается. Значения имеют тип DBNull после выполнения команды.

  • Единственным значением перечисления CommandBehavior, которое может применяться для работы с данными типа REF CURSOR (например, при вызове ExecuteReader), является CloseConnection; все прочие значения не учитываются.

  • Последовательность расположения данных типа REF CURSOR в объекте OracleDataReader зависит от последовательности параметров в коллекции OracleParameterCollection. Свойство ParameterName не учитывается.

  • Тип данных TABLE языка PL/SQL не поддерживается. Но данные типа REF CURSOR являются более эффективными. Если возникает необходимость в использовании типа данных TABLE, используйте поставщика данных OLE DB .NET с MSDAORA.

В этом подразделе

См. также

Другие ресурсы

Oracle и ADO.NET