Cursores REF CURSOR de Oracle
Actualización: November 2007
El proveedor de datos de .NET Framework para Oracle admite el tipo de datos REF CURSOR de Oracle. Cuando utilice el proveedor de datos para trabajar con cursores REF CURSOR de Oracle, debe tener en cuenta los siguientes comportamientos.
Nota: |
---|
Algunos de ellos difieren de los del proveedor Microsoft OLE DB para Oracle (MSDAORA). |
Por motivos de rendimiento, el proveedor de datos para Oracle no enlaza automáticamente tipos de datos REF CURSOR, como hace MSDAORA, a menos que los especifique de forma explícita.
El proveedor de datos no admite ninguna secuencia de escape ODBC, lo que incluye el escape {resultset} usado para especificar parámetros REF CURSOR.
Para ejecutar un procedimiento almacenado que devuelva cursores REF CURSOR, debe definir los parámetros en la OracleParameterCollection con un OracleType de Cursor y una Direction de Output. El proveedor de datos admite el enlace de cursores REF CURSOR sólo como parámetros de salida; no los admite como parámetros de entrada.
No se permite la obtención de un OracleDataReader del valor del parámetro. Los valores son del tipo DBNull después de la ejecución del comando.
El único valor de enumeración CommandBehavior que funciona con los cursores REF CURSOR (por ejemplo, al llamar a ExecuteReader) es CloseConnection; todos los demás se omiten.
El orden de los cursores REF CURSOR en el OracleDataReader depende del orden de los parámetros en la OracleParameterCollection. Se omite la propiedad ParameterName.
No se admite el tipo de datos TABLE de PL/SQL. No obstante, los cursores REF CURSOR resultan más eficientes. Si tiene que utilizar un tipo de datos TABLE, emplee el proveedor de datos OLE DB .NET con MSDAORA.
En esta sección
Ejemplos de cursores REF CURSOR
Contiene tres ejemplos en los que se muestra el uso de cursores REF CURSOR.Parámetros REF CURSOR en un OracleDataReader
Muestra cómo ejecutar un procedimiento almacenado PL/SQL que devuelve un parámetro REF CURSOR y lee el valor como un OracleDataReader.Recuperación de datos de varios cursores REF CURSOR mediante un OracleDataReader
Muestra cómo ejecutar un procedimiento almacenado PL/SQL que devuelve dos parámetros REF CURSOR y lee los valores mediante un OracleDataReader.Relleno de un DataSet mediante uno o más cursores REF CURSOR
Muestra cómo ejecutar un procedimiento almacenado PL/SQL que devuelve dos parámetros REF CURSOR y llena un DataSet con las filas que se devuelven.