I have a problem with calling a stored procedure on an Oracle 11g server.
stored procedure
PROCEDURE get_rit_by_user_id(KDC_KEY IN VARCHAR2, p_id_utente IN NUMBER, p_cur_out OUT type_cursor) IS BEGIN ... ... ... END
c # code
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()
throws this exception:
ORA-06550: row 1, column 7: PLS-00306: invalid number or argument types in the call 'GET_RIT_BY_USER_ID' ORA-06550: row 1, column 7: PL / SQL: the statement is ignored
What is wrong with the code above that it gets the wrong number of types of arguments
error?
source share