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 utiliser oracle REF CURSORs, vous devez prendre en compte les comportements suivants.

Remarque

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 MSDAORA le fait, sauf si vous les spécifiez explicitement.

  • 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 ref CURSORs comme 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 de la commande.

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

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

  • Le type de données PL/SQL TABLE n’est pas pris en charge. Toutefois, les REF CURSORs 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 de REF CURSORs.

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 en tant qu’OracleDataReader.

Récupération de données à partir de plusieurs CURSORs REF à 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 à l’aide d’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 de curseur REF, et remplit un DataSet avec les lignes retournées.

Voir aussi