Я ОЧЕНЬ новичок в том, что касается хранимых процедур и .NET, поэтому заранее извиняюсь.У меня есть хранимая процедура, которую я пытаюсь использовать, и я продолжаю получать эту ошибку ... "неправильный номер или типы аргументов при вызове 'COPY_ACCOUNT'".Я не уверен почему.Ниже приведен мой код хранимой процедуры, за которым следует мой код C # .NET.Любая помощь очень ценится.ПОЖАЛУЙСТА.
create or replace procedure abstract_names.copy_account(r_rows_copied out int,
ar_old_acct in abn_headings.acct_no%type,
ar_new_acct in abn_headings.acct_no%type)
is
cnt int := 0;
begin
r_rows_copied := 0;
for r in (select heading from abn_headings where acct_no = ar_old_acct) loop
copy_heading(cnt, ar_old_acct, r.heading, ar_new_acct);
r_rows_copied := r_rows_copied + cnt;
end loop;
dbms_output.put_line('called abstract_names.copy_account '||to_char(r_rows_copied));
return; end;
Тогда мой код C # .NET ...
using System.Data.OracleClient;
try
{
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Parameters.Add("r_rows_copied", OracleType.Int32).Direction = ParameterDirection.Output;
cmd.Parameters.Add("ar_from_acct", OracleType.VarChar).Value = accountNumberDropDownList.SelectedValue.ToString();
cmd.Parameters.Add("ar_to_acct", OracleType.VarChar).Value = copyAccountDDL.SelectedValue.ToString();
cmd = new OracleCommand("abstract_names.copy_account", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
conn.Close();
/*
abstract_names.copy_account(r_rows_copied out int,
ar_from_acct in abn_headings.acct_no%type,
ar_to_acct in abn_headings.acct_no%type)
*/
}
finally
{
if (conn != null)
conn.Close();
}
Моя строка подключения верна, потому что я использую ее в другом месте моего кода, и она работает.Раздел с комментариями - это хранимая процедура, которую я пытаюсь использовать, очевидно.Пожалуйста, помогите мне!