0
Я продолжаю получать эту ошибку хранимой процедуры (неправильное число или типы аргументов) всякий раз, когда я пытаюсь выполнить ее с C#.Неверное число или типы при вызове sproc
вот определение переменных для sproc:
requestNumber varchar2,
requestXML clob,
userID varchar2,
activityID integer,
origin_zip varchar2,
destination_zip varchar2,
pur_date varchar2
и вот определение оракула parameteres внутри кода C#:
OracleParameter _requestNumber = new OracleParameter("requestNumber", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = requestNumber };
OracleParameter _requestXML = new OracleParameter("requestXML", OracleDbType.Clob) { Direction = ParameterDirection.Input, Value = xml };
OracleParameter _userID = new OracleParameter("userID", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = input.UserID };
OracleParameter _activityID = new OracleParameter("activityID", OracleDbType.Int32) { Direction = ParameterDirection.Input, Value = Convert.ToInt32(activityID) };
OracleParameter _sOriginZip = new OracleParameter("origin_zip", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = _originZip };
OracleParameter _sDestinationZip = new OracleParameter("destination_zip", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = _destinationZIP };
OracleParameter _sPurDate = new OracleParameter("pur_date", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = _purDate };
command.Parameters.Add(_requestNumber);
command.Parameters.Add(_requestXML);
command.Parameters.Add(_userID);
command.Parameters.Add(_activityID);
command.Parameters.Add(_sOriginZip);
command.Parameters.Add(_sDestinationZip);
command.Parameters.Add(_sPurDate);
Что может быть причиной, что исключение?
Вы можете включить фактическое призвание процедуры тоже (например, строительство и настройки на объект команды), если ошибка там ... – Chris
Почему бы не сделать еще одну отладку, чтобы отточить проблему? Попробуйте временно установить каждый сохраненный параметр proc на «default null» и постоянно менять свой C#, чтобы каждый раз передавать только один параметр. Когда он идет, это парам с проблемой. – PeteH