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 возвращаемыми строками.