Compartilhar via


Cursores REF do Oracle

O Provedor de Dados do .NET Framework para Oracle dá suporte ao tipo de dados Oracle REF CURSOR . Ao usar o provedor de dados para trabalhar com REF CURSORs do Oracle, você deve levar em consideração os seguintes comportamentos.

Observação

Alguns comportamentos diferem daqueles do MSDAORA (Provedor do Microsoft OLE DB para Oracle).

  • Por motivos de desempenho, o Provedor de Dados para Oracle não associa automaticamente os tipos de dados REF CURSOR , como o MSDAORA faz, a menos que você os especifique explicitamente.

  • O provedor de dados não dá suporte a nenhuma sequência de escape ODBC, incluindo a escape {resultset} usada para especificar parâmetros REF CURSOR.

  • Para executar um procedimento armazenado que retorne REF CURSORs, você deve definir os parâmetros no OracleParameterCollection com um OracleType do Cursor e um Direction de Saída. O provedor de dados dá suporte apenas à associação de REF CURSORs como parâmetros de saída. O provedor não dá suporte a REF CURSORs como parâmetros de entrada.

  • Não há suporte para obter um OracleDataReader a partir do valor do parâmetro. Os valores são do tipo DBNull após a execução do comando.

  • O único valor de enumeração CommandBehavior que funciona com REF CURSORs (por exemplo, ao chamar ExecuteReader) é CloseConnection; todos os outros são ignorados.

  • A ordem dos CURSORs REF no OracleDataReader depende da ordem dos parâmetros no OracleParameterCollection. A propriedade ParameterName é ignorada.

  • Não há suporte para o tipo de dados PL/SQL TABLE . No entanto, os CURSORs REF são mais eficientes. Se você precisar usar um tipo de dados TABLE , use o Provedor de Dados .NET do OLE DB com MSDAORA.

Nesta seção

Exemplos de REF CURSOR
Contém três exemplos que demonstram o uso de CURSORs REF.

Parâmetros REF CURSOR em um OracleDataReader
Demonstra como executar um procedimento armazenado PL/SQL que retorna um parâmetro REF CURSOR e lê o valor como um OracleDataReader.

Recuperando dados de vários CURSORs REF usando um OracleDataReader
Demonstra como executar um procedimento armazenado PL/SQL que retorna dois parâmetros REF CURSOR e lê os valores usando um OracleDataReader.

Preenchendo um conjunto de dados usando um ou mais CURSORs REF
Demonstra como executar um procedimento armazenado PL/SQL que retorna dois parâmetros REF CURSOR e preenche um DataSet com as linhas retornadas.

Consulte também