Курсоры REF в Oracle

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

Замечание

Некоторые поведения отличаются от поведения поставщика Microsoft OLE DB для Oracle (MSDAORA).

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

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

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

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

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

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

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

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

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

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

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

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

См. также