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.