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.

RemarqueRemarque

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 OracleType Cursor et un Direction Output. 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 le 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

Voir aussi

Autres ressources

Oracle et ADO.NET