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.

Anmärkning

Vissa beteenden skiljer sig från microsoft OLE DB-providerns 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 en OracleType av Cursor och en Direction av Output. Dataprovidern stöder bindning av REF CURSOR som utdataparameter endast. 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 kommandots körning.

  • Det enda CommandBehavior uppräkningsvärdet som fungerar med REF CURSORs (till exempel när du anropar ExecuteReader) är CloseConnection. Alla andra ignoreras.

  • Ordningen på REF CURSORs i OracleDataReader beror på ordningen på parametrarna i OracleParameterCollection. Egenskapen ParameterName ignoreras.

  • PL/SQL-datatypen TABLE stöds inte. Ref CURSORs är dock mer effektiva. Om du måste använda en TABLE datatyp 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