Как вызвать хранимую процедуру oracle из VB.NET
Привет я создал процедуру select в oracle и она будет отлично работать в бэкэнде
но когда я вызываю его vb.net он будет отображать сообщение об ошибке, как это
PLS-00306: wrong number or types of arguments in call to 'PLP_MYAPP_SELECT1' ORA-06550: line 1, column 7: PL/SQL: Statement ignored
моя процедура такова
создайте или замените процедуру plp_myapp_select1(my_flag в varchar2, p_userid в user_master. user_id%type, userid_out out varchar2,p_panno в OTC_REGISTRAION. PANNUMBER%type, panid_out out sys_refcursor,company_out out varchar2)
является
v_id varchar2(40);
начать
если имя пользователя my_flag = '' тогда
выберите user_id в userid_out из user_master, где user_id=p_userid;
dbms_output.put_line(v_id);
тогда elsif my_flag = 'validatepan'
откройте panid_out для выбора pannumber из OTC_REGISTRAION, где pannumber =p_panno;
тогда elsif my_flag = 'companyname'
выберите companyname в company_out из OTC_INS_COMPANY;
конец, если;
конец;
и в vb.net я называю эту процедуру так
УМК.Соединение = cn
УМК.CommandType = Данные.Командный тип.Хранимая процедура
УМК.Свойства commandtext = "plp_myapp_select1"
Dim флаг как новый OracleParameter("my_flag", OracleDbType. Varchar2)
Флаг.Направление = ParameterDirection.Ввод
Флаг.Размер = 50
Flag. Value = " имя пользователя"
УМК.Параметры.Добавить(Флаг)
Dim qrySerial As New OracleParameter("p_userid", OracleDbType.Varchar2) qrySerial.Direction = ParameterDirection.Input qrySerial.Value = user_id.ToUpper cmd.Parameters.Add(qrySerial) Dim OutPut As New OracleParameter("userid_out", OracleDbType.Varchar2) OutPut.Direction = ParameterDirection.Output OutPut.Size = 400 'cmd1.Parameters.Add(OutPut) cmd.Parameters.Add(OutPut) Dim result As Integer = cmd.ExecuteNonQuery() ada = New OracleDataAdapter(cmd) ada.Fill(ds) what exactly wrong with my coding .if anyaone have ideas just give some inputs What I have tried: i tried to call this procedure from vb.net .in the back end it's working fine