Dela via


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.

Se även