create or replace procedure naujas_veiksmai(
vartotojas number,
knyga number,
kiekis number,
grazinta VARCHAR2,
tipas varchar2,
error_msg out varchar2
)
is
begin
insert into veiksmai values(vt_id_seq.nextval,vartotojas,knyga,kiekis,tipas,sysdate,TO_DATE(grazinta,'YYYY-MM-DD'));
exception
when OTHERS THEN error_msg := 'Irasant ivyko klaida';
end;
This is procedure that must return custom error to program.
C# code:
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "naujas_veiksmai";
cmd.CommandType = CommandType.StoredProcedure;
OdbcParameter param = new OdbcParameter();
cmd.Parameters.Add("vartotojas", OracleType.Number).Value = vartotojas;
cmd.Parameters.Add("knyga", OracleType.Number).Value = knyga;
cmd.Parameters.Add("kiekis", OracleType.Number).Value = kiekis;
cmd.Parameters.Add("grazinta", OracleType.VarChar).Value = grazinti;
cmd.Parameters.Add("tipas", OracleType.VarChar).Value = tipas;
OracleParameter op = new OracleParameter("error_msg", OracleType.VarChar);
op.Direction = ParameterDirection.Output;
op.Size = 200;
cmd.Parameters.Add(op);
cmd.ExecuteNonQuery();
cmd.Parameters.RemoveAt(0);
Program not showing any errors from oracle, insert was not executed and I know that must be exception.
What is wrong in procedure or in oracle code ?