Freigeben über


Oracle-REF CURSORs

Der .NET Framework-Datenanbieter für Oracle unterstützt den Oracle-Datentyp REF CURSOR. Wenn Sie beim Arbeiten mit Oracle-REF CUSORS diesen Datenanbieter verwenden, müssen Sie das jeweilige Verhalten berücksichtigen.

HinweisHinweis

Das jeweilige Verhalten weicht von dem des Microsoft OLE DB-Anbieters für Oracle (MSDAORA) ab.

  • Aus Leistungsgründen bindet der Datenanbieter für Oracle, im Gegensatz zu MSDAORA, REF CURSOR-Datentypen nur dann automatisch, wenn Sie sie explizit angeben.

  • Der Datenanbieter unterstützt keine ODBC-Escapesequenzen, auch nicht das {resultset}-Escapezeichen für die Angabe von REF CURSOR-Parametern.

  • Wenn eine gespeicherte Prozedur ausgeführt werden soll, die REF CURSORs zurückgibt, müssen Sie die Parameter in der OracleParameterCollection mit einem auf Cursor festgelegten OracleType und einer auf Output festgelegten Direction definieren. Mit diesem Datenanbieter können REF CURSORs nur als Ausgabeparameter gebunden werden. Das Binden von REF CURSORs als Eingabeparameter wird von diesem Datenanbieter nicht unterstützt.

  • Das Abrufen eines OracleDataReader aus dem Parameterwert wird nicht unterstützt. Nach dem Ausführen des Befehls weisen die Werte den Typ DBNull auf.

  • Der einzige CommandBehavior-Enumerationswert, der mit REF CURSORs verwendet werden kann (z. B. beim Aufrufen von ExecuteReader), ist CloseConnection. Alle anderen Werte werden ignoriert.

  • Die Reihenfolge der REF CURSORs im OracleDataReader richtet sich nach der Reihenfolge der Parameter in der OracleParameterCollection. Die ParameterName-Eigenschaft wird ignoriert.

  • Der PL/SQL-Datentyp TABLE wird nicht unterstützt. REF CURSORs sind im Vergleich effizienter. Wenn Sie dennoch einen TABLE-Datentyp verwenden müssen, verwenden Sie den .NET-Datenanbieter für OLE DB mit MSDAORA.

In diesem Abschnitt

Siehe auch

Weitere Ressourcen

Oracle und ADO.NET