I have not found anywhere where he documents the whole process in one place, therefore, having hit my head against the wall and hit it, here is my version of what I came up with using one of the output parameters from the OP Code:
OracleParameter param = new OracleParameter(); param = ora_cmd.Parameters.Add("Lc_Exito", OracleDbType.Int32, ParameterDirection.Output); // can assign the direction within the parameter declaration param.Size = 25; // failed for me if I did not have this - should be the same as the DB field, if exporting a value from the database ora_cmd.ExecuteNonQuery(); int myLc_ExitoValue = int.Parse(param.Value); // might not need to parse, and might need a .ToString() on param.Value if you do - I was using strings so not sure about OP exact case
Then you need to configure the stored procedure to accept the OUT parameter, and you must assign a procedure to it:
create or replace procedure PR_ABC_P_ALTA_TARJETA_PAYWARE(Lc_Exito OUT number) as begin Lc_Exito := 123; end; /
Obviously, this excludes all other parameters that were sent, and other parameters βoutsideβ - they wanted to simplify it. But this shows how everything is configured, from before, during and after calling the stored procedure in C #, and how to set the OUT parameter and get the value outside the stored procedure.
vapcguy
source share