简体   繁体   中英

Wrong number or types in call of a sproc

I keep getting this stored procedure error (wrong number or types of the arguments) whenever I try to execute it from C#.

here's the definition of variables for the sproc:

requestNumber varchar2,
requestXML clob,
userID varchar2,
activityID integer,
origin_zip varchar2,
destination_zip varchar2,
pur_date varchar2

and here's the definition of the oracle parameteres inside the C# code:

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);

What could be causing that exception?

Try clear command parameters using following code before adding parameters,

command.Parameters.Clear();

Also check are you setting, command.Type to storedProcedure

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM