Oracle REF CURSORs
.NET Framework-dataprovidern för Oracle har stöd för Oracle REF CURSOR-datatypen . När du använder dataprovidern för att arbeta med Oracle REF CURSORs bör du överväga följande beteenden.
Kommentar
Vissa beteenden skiljer sig från Microsoft OLE DB-provider för Oracle (MSDAORA).
Av prestandaskäl binder dataprovidern för Oracle inte automatiskt REF CURSOR-datatyper , som MSDAORA gör, såvida du inte uttryckligen anger dem.
Dataprovidern stöder inte några ODBC-escape-sekvenser, inklusive {resultset} escape som används för att ange REFERENSMARKÖRparametrar.
Om du vill köra en lagrad procedur som returnerar REF CURSORs måste du definiera parametrarna i OracleParameterCollection med markören OracleType och utdata.Direction Dataprovidern stöder bindning av REF CURSORs som endast utdataparametrar. Providern stöder inte REF CURSORs som indataparametrar.
Det går inte att hämta en OracleDataReader från parametervärdet. Värdena är av typen DBNull efter kommandokörningen.
Det enda CommandBehavior-uppräkningsvärdet som fungerar med REF CURSORs (till exempel när du anropar ExecuteReader) är Close Anslut ion; alla andra ignoreras.
Ordningen på REF CURSORs i OracleDataReader beror på ordningen på parametrarna i OracleParameterCollection. Egenskapen ParameterName ignoreras.
Datatypen PL/SQL TABLE stöds inte. Ref CURSORs är dock mer effektiva. Om du måste använda en TABELLdatatyp använder du OLE DB .NET Data Provider med MSDAORA.
I det här avsnittet
REFERENSMARKÖRexempel
Innehåller tre exempel som visar hur du använder REF CURSORs.
REFERENSMARKÖRparametrar i en OracleDataReader
Visar hur du kör en PL/SQL-lagrad procedur som returnerar en REFERENSMARKÖR-parameter och läser värdet som OracleDataReader.
Hämta data från flera REF CURSORs med hjälp av en OracleDataReader
Visar hur du kör en PL/SQL-lagrad procedur som returnerar två REF CURSOR-parametrar och läser värdena med hjälp av en OracleDataReader.
Fylla i en datauppsättning med hjälp av en eller flera REF CURSORs
Visar hur du kör en PL/SQL-lagrad procedur som returnerar två REF CURSOR-parametrar och fyller en DataSet med de rader som returneras.