Неверное количество или типы аргументов при вызове GET_MANUAL_LOS_REQ_STATUS в Oracle при привязке данных.C#

Место общения программистов C#
Ответить
Гость
 Неверное количество или типы аргументов при вызове GET_MANUAL_LOS_REQ_STATUS в Oracle при привязке данных.

Сообщение Гость »


Я связываю данные с помощью хранимой процедуры, но получаю сообщение об ошибке

неправильное количество или типы аргументов при вызове 'GET_MANUAL_LOS_REQ_STATUS'\nORA-06550:

Вот процедура

создать или заменить PROCEDURE GET_MANUAL_LOS_REQ_STATUS ( P_CURR OUT SYS_REFCURSOR, P_OUTSTATUS ВЫХОД VARCHAR2, P_MESSAGE ВЫХОД VARCHAR2 ) КАК НОМЕР T_CNT:=0; НАЧИНАТЬ ОТКРЫТЬ P_CURR ДЛЯ ВЫБЕРИТЕ LOS.A6_NEID, LOS.SOURCE, LOS.STATUS, LOS.REMARKS, LOS.MODIFIED_DATE, LOS.USERNAME, REQ.STATUS LOS_STATUS ИЗ LOS_REQUEST_MANUAL LOS, APP_3DPT.LOS_REQUEST_LOG REQ ГДЕ LOS.A6_NEID = REQ.LOS_REQUEST_ID ЗАКАЗАТЬ ПО MODIFIED_DATE DESC; P_OUTSTATUS :='УСПЕХ'; ИСКЛЮЧЕНИЕ, КОГДА ДРУГИЕ ТОГДА P_OUTSTATUS :='FAILED'; P_MESSAGE :=SQLERRM; END GET_MANUAL_LOS_REQ_STATUS;

Также ниже приведен код.

public DataTable Bind_Grid_Data() { OracleConnection conn = новый OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionStringAirFiber"].ConnectionString); пытаться { OracleCommand cmd = новый OracleCommand(); cmd.ТипКоманды = ТипКоманды.СохраненнаяПроцедура; cmd.CommandText = ConfigurationManager.AppSettings["GET_MANUAL_LOS_REQ_STATUS"]; cmd.Соединение = подключение; cmd.Parameters.Add(новый OracleParameter { Имя параметра = "P_CURR", OracleDbType = OracleDbType.RefCursor, Размер = 500, Направление = ПараметрНаправление.Выход }); cmd.Parameters.Add(новый OracleParameter { Имя параметра = "P_OUTSTATUS", OracleDbType = OracleDbType.RefCursor, Размер = 500, Направление = ПараметрНаправление.Выход }); cmd.Parameters.Add(новый OracleParameter { Имя параметра = "P_MESSAGE", OracleDbType = OracleDbType.RefCursor, Размер = 500, Направление = ПараметрНаправление.Выход }); if (conn.State != ConnectionState.Open) conn.Open(); OracleDataAdapter daIPColo = новый OracleDataAdapter (cmd); DataTable dtIPColo = новый DataTable(); daIPColo.Fill(dtIPColo); вернуть dtIPColo; } поймать (Исключение ex) { бросать; } окончательно { if (conn.State == ConnectionState.Open) conn.Close(); }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»