Pessoal, Tenho uma package conforme abaixo no Oracle que retorna um tipo semelhante ao RefCursor, veja:
create or replace package minha_package is type t_estrutura is record ( campo1 varchar2(255) ); type t_retorno is table of t_estrutura index by binary_integer; function minha_funcao return t_retorno; end; create or replace package body minha_package is function minha_funcao return t_retorno is v_dados t_retorno; begin v_dados(1).campo1 := 'FABIO'; v_dados(2).campo1 := 'QUIRINO'; v_dados(2).campo1 := 'TESTE'; return v_dados; end minha_funcao; end; Estou com o código abaixo em C# que tem intenção de popular um DATASET com os dados do tipo definido no BD, só que não funciona... protected void Executa() { OracleConnection con = new OracleConnection("minhaStringConexão"); con.Open(); // Create an OracleCommand OracleCommand cmd = new OracleCommand("owner.minha_package.minha_funcao", con); cmd.CommandType = CommandType.StoredProcedure; OracleParameter p1 = cmd.Parameters.Add("refcur_ret", OracleDbType.RefCursor); p1.Direction = ParameterDirection.ReturnValue; cmd.ExecuteNonQuery(); OracleDataAdapter da = new OracleDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); } Alguém poderia me dizer como faço para pegar esse ReturnValue? Obrigado, Quirino Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]