REF CURSOR в Oracle

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

Примечание.

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

  • По соображениям производительности поставщик данных для Oracle не автоматически привязывает типы данных REF CURSOR , так как MSDAORA не выполняет их явно.

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

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

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

  • Единственное значение перечисления CommandBehavior, которое работает с REF CURSORs (например, при вызове ExecuteReader) — Close Подключение ion; все остальные игнорируются.

  • Порядок REF CURSORs в OracleDataReader зависит от порядка параметров в OracleParameterCollection. Свойство ParameterName не учитывается.

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

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

Примеры REF CURSOR
Содержит три примера, которые демонстрируют использование данных типа REF CURSOR.

Параметры REF CURSOR в объекте OracleDataReader
Демонстрируется выполнение хранимой процедуры PL/SQL, которая возвращает параметр REF CURSOR и считывает значение в виде OracleDataReader.

Извлечение данных из нескольких REF CURSOR с использованием OracleDataReader
Демонстрируется выполнение хранимой процедуры PL/SQL, которая возвращает два параметра REF CURSOR и считывает значения с помощью OracleDataReader.

Заполнение DataSet с помощью одного или нескольких параметров REF CURSOR
Показывает, как выполнить хранимую процедуру PL/SQL, которая возвращает два параметра REF CURSOR и заполняет DataSet возвращаемыми строками.

См. также