Hola Tengo un problema con el procedimiento de llamada de la tienda en el servidor Oracle 11g.ORA-06550: línea 1, columna 7: PLS-00306: número incorrecto o tipos de argumentos
esta es mi procedimiento almacenado
PROCEDURE get_rit_by_user_id(KDC_KEY IN VARCHAR2,
p_id_utente IN NUMBER,
p_cur_out OUT type_cursor) IS
BEGIN
...
...
...
END
este es mi código C#
OracleCommand cmd = new OracleCommand();
cmd.Connection = oracleConnection;
cmd.CommandText = userIdEsercizio + packageName + "GET_RIT_BY_USER_ID";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("KDC_KEY", OracleDbType.Varchar2, kdcKey, ParameterDirection.Input);
cmd.Parameters.Add("P_ID_UTENTE", OracleDbType.Int32, user_id, ParameterDirection.Input);
cmd.Parameters.Add("P_CUR_OUT", OracleDbType.RefCursor, ParameterDirection.Output);
OracleDataReader reader = cmd.ExecuteReader();
cmd.ExecuteReader() lanzar esta excepción
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIT_BY_USER_ID'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
no puedo ver nada malo en mi código C#. ¿Me ayudarás? gracias
Saludos
Extraño la variable p_id_utente en la lista de parámetros (sin embargo, tiene un P_USER). Los otros dos están ahí. – Independent
este no es el problema, he comprobado todos los nombres de los parámetros –
¿Ha mirado esta pregunta SO: http://stackoverflow.com/questions/6360244/how-to-call-an-oracle-function- with-a-ref-cursor-as-out-parameter-from-c – DCookie