Partager via


REF CURSOR Oracle

Le fournisseur de données .NET Framework pour Oracle prend en charge le type de données Oracle REF CURSOR. Lorsque vous utilisez le fournisseur de données pour travailler avec des REF CURSOR Oracle, vous devez tenir compte des comportements suivants.

Notes

Certains comportements diffèrent de ceux du fournisseur Microsoft OLE DB pour Oracle (MSDAORA).

  • Pour des raisons de performances, le fournisseur de données pour Oracle ne lie pas automatiquement les types de données REF CURSOR, comme le fait MSDAORA, si vous ne les spécifiez pas de manière explicite.

  • Le fournisseur de données ne prend pas en charge les séquences d'échappement ODBC, notamment l'échappement {resultset} utilisé pour spécifier les paramètres REF CURSOR.

  • Pour exécuter une procédure stockée qui retourne des REF CURSOR, vous devez définir les paramètres dans le OracleParameterCollection avec un OracleTypeCursor et un DirectionOutput. Le fournisseur de données prend en charge la liaison des REF CURSOR en tant que paramètres de sortie seulement. Le fournisseur ne prend pas en charge les REF CURSOR en tant que paramètres d'entrée.

  • L'obtention d'un OracleDataReader à partir de la valeur de paramètre n'est pas prise en charge. Les valeurs sont de type DBNull après l'exécution d'une commande.

  • La seule valeur d’énumération CommandBehavior qui fonctionne avec des REF CURSOR (par exemple, lors de l’appel à ExecuteReader) est CloseConnection ; toutes les autres sont ignorées.

  • L’ordre des REF CURSOR dans le OracleDataReader dépend de l’ordre des paramètres dans la OracleParameterCollection. La propriété ParameterName est ignorée.

  • Le type de données PL/SQL TABLE n’est pas pris en charge. Toutefois, les REF CURSOR sont plus efficaces. Si vous devez utiliser un type de données TABLE, utilisez le fournisseur de données OLE DB .NET avec MSDAORA.

Dans cette section

Exemples REF CURSOR
Contient trois exemples qui illustrent l'utilisation des REF CURSOR.

Paramètres REF CURSOR dans un OracleDataReader
Montre comment exécuter une procédure stockée PL/SQL qui retourne un paramètre REF CURSOR et lit la valeur comme un OracleDataReader.

Extraction de données à partir de plusieurs REF CURSOR à l'aide d'un OracleDataReader
Montre comment exécuter une procédure stockée PL/SQL qui retourne deux paramètres REF CURSOR et lit les valeurs en utilisant un OracleDataReader.

Remplissage d'un DataSet à l'aide d'un ou de plusieurs REF CURSOR
Montre comment exécuter une procédure stockée PL/SQL qui retourne deux paramètres REF CURSOR et remplit un DataSet avec les lignes qui sont retournées.

Voir aussi