• Viernes 15 de Noviembre de 2024, 11:25

Autor Tema:  Ayuda Cursor Oracle  (Leído 1408 veces)

omoyo11@yahoo.es

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ayuda Cursor Oracle
« en: Lunes 19 de Junio de 2006, 13:11 »
0
Hola. A ver si es posible que me puedan ayudar con un pequeño problema que tengo.
Estoy intentando hacer una pequeña aplicación en .net que visualice en pantalla los datos devueltos por un procedimiento almacenado de oracle. El codigo problema es el siguiente:

tring strConnectionString ="User Id=rp_query;Password=rpquery;Data Source=DW";
OracleConnection oraconn = new OracleConnection(strConnectionString);

oraconn.Open();

OracleCommand oracmd = new OracleCommand();

oracmd.Parameters.Add("o_cursor",OracleType.Cursor);
oracmd.Parameters["o_cursor"].Direction = ParameterDirection.Output;

oracmd.Parameters.Add("Cod_Via",OracleType.VarChar,8);
oracmd.Parameters["Cod_Via"].Direction = ParameterDirection.Input;
oracmd.Parameters["Cod_Via"].Value = "00027700";

oracmd.Parameters.Add("num",OracleType.VarChar,8);
oracmd.Parameters["num"].Direction = ParameterDirection.Input;
oracmd.Parameters["num"].Value = "";

oracmd.Parameters.Add("clf",OracleType.VarChar,8);
oracmd.Parameters["clf"].Direction = ParameterDirection.Input;
oracmd.Parameters["clf"].Value = "";

oracmd.Parameters.Add("histori",OracleType.VarChar);
oracmd.Parameters["histori"].Direction = ParameterDirection.Input;
oracmd.Parameters["histori"].Value = "T";

oracmd.CommandText = "fccomsi.NumerPorViaNumClfSinDenom";
oracmd.CommandType = CommandType.StoredProcedure;

oracmd.Connection = oraconn;

OracleDataAdapter da = new OracleDataAdapter(oracmd);
DataSet ds = new DataSet();
da.Fill(ds);
this.DataGrid1.DataSource=ds;
this.DataGrid1.DataBind();

oraconn.Close();

Realmente, el procedimiento almacenado devuelve un cursor de oracle, y su llamada tendría que ser:
"fccomsi.NumerPorViaNumClfSinDenom(?,?,?,?)", recibe cuatro parámetros de entrada y devuelve un cursor con los resultados.

El error me dice que están mal el número de parámetros o el tipo. He revisado todo miles de veces y ya no sé que hacer.

Me ayudais??? gracias.

ing_marco

  • Miembro MUY activo
  • ***
  • Mensajes: 263
    • Ver Perfil
Re: Ayuda Cursor Oracle
« Respuesta #1 en: Martes 20 de Junio de 2006, 14:18 »
0
Solo una consulta amigo.
Cuando yo hago procedimientos almacenado en SQL y lo uso en algun aplicacion, hay algunas cosas que se deben respetar

Primero el nombre de las variables del procedimiento debe coincidir con las de la aplicacion (exactamente) esto se refiere a escritura y a  tipo.

Segundo, no se si seran iguales los procedimientos en SQL y ORACLE, pero las variables van con @Variable.

Si es diferente obvia lo anterior.

Tercero:
Citar
fccomsi.NumerPorViaNumClfSinDenom(?,?,?,?)
veo 4 parametros, tu crees que eso pueda influir.

Espero una de esas sea la solucion.
 ;)
MARCO DIAZ
Ing_Marco
Bachiller Ing de Sistemas.
UNT
Trujillo-Peru