Я боролся с этим в течение двух дней, и я очень расстроен, но чувствую, что я делаю успехи.После просмотра онлайн документации Oracle, я здесь.Получение следующей ошибки при выполнении кода:
ORA-06550: строка 1, столбец 15: PLS-00306: неправильный номер или типы аргументов при вызове 'P_SALTEDHASH' ORA-06550: строка 1,столбец 7: PL / SQL: оператор игнорируется
Хранимая процедура выглядит следующим образом:
PROCEDURE stored_procedure_name ( p_passwd IN VARCHAR2,
p_salt IN VARCHAR2,
p_saltedhash_passwd OUT VARCHAR2
)
Мой код:
string stored_procedure_name = "stored_procedure_name";
// create the command object
OracleCommand cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = stored_procedure_name;
cmd.BindByName = true;
//Oracle Parameters necessary for the p_saltedhash function
cmd.Parameters.Add("p_passwd", p_passwd);
cmd.Parameters.Add("p_salt", p_salt);
OracleParameter p_saltedhash_passwd =
new OracleParameter("p_saltedhash_passwd", OracleDbType.Varchar2);
p_saltedhash_passwd.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(p_saltedhash_passwd);
// execute the pl/sql block
cmd.ExecuteNonQuery();
Response.Write("Pin hash is: " + p_saltedhash_passwd);`