Когда я использую старую Oracle Dll в своем проекте .net mvc, она работает:
cmd.CommandText = "dba.user_login";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("KUL", OracleType.VarChar).Value = userName;
cmd.Parameters.Add("SIFRE", OracleType.VarChar).Value = pass;
cmd.Parameters.Add("FLAG", OracleType.Float).Value = 1;
cmd.Parameters.Add("HATA", OracleType.VarChar).Value = "error";
cmd.Parameters.Add("result", OracleType.Float).Direction = ParameterDirection.ReturnValue;
Но я хочу использовать нового провайдера oracle .net из-за того, что старая dll oracle устарела. я пробовал это:
cmd.CommandText = "dba.user_login";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("KUL", OracleDbType.Varchar2).Value = userName;
cmd.Parameters.Add("SIFRE", OracleDbType.Varchar2).Value = pass;
cmd.Parameters.Add("FLAG", OracleDbType.Single).Value = 1;
cmd.Parameters.Add("HATA", OracleDbType.Varchar2).Value = "error";
cmd.Parameters.Add("result", OracleDbType.Single).Direction = ParameterDirection.ReturnValue;
Но это не работает. Исключение: ORA-06502: PL/SQL: ошибка числа или значения: ошибка преобразования символа в число\nORA-06512: в строке 1 Кто-нибудь может помочь мне исправить это. Спасибо.