Now I know this has been asked before. But I've made doubly sure that all parameters are correct and there are no typos. I still get the error. Could somebody please guide me here? I am nearing my wit's end!
CREATE OR REPLACE PROCEDURE VWT.WUA_DELETE_FP_REQUEST
(i_pLDAPUserName IN varchar2,
i_pIReasonCode IN number,
i_pLastName IN varchar2,
i_pFirstName IN varchar2,
i_pDealerID IN number,
i_pAddr1 IN varchar2,
i_pAddr2 IN varchar2,
i_pCity IN varchar2,
i_pState IN varchar2,
i_pZip IN varchar2,
i_pBusinessEmail IN varchar2,
i_pBusinessPhone IN varchar2,
i_pReviewDate IN Date,
i_pReviewedByWhom IN varchar2,
i_pDealersRepID IN varchar2,
i_pComments IN varchar2,
i_pPrivacyUsageFlag IN varchar2,
i_pDealersBranchID IN varchar2,
i_pPrivacyUsageDate IN date,
i_pMarketingFlag IN varchar2,
i_pMarketingDate IN date,
i_pWorkCountry IN varchar2,
i_pOperator IN varchar2,
o_return_status OUT integer,
o_error_desc OUT varchar2
)
========================================================================
Code to run the procedure
OracleParameter ldapUserName = new OracleParameter
("i_pLDAPUserName", OracleType.VarChar, 1024);
ldapUserName.Direction = ParameterDirection.Input;
ldapUserName.Value = ldapUserName_;
command.Parameters.Add(ldapUserName);
OracleParameter reasonCode = new OracleParameter
("i_pIReasonCode", OracleType.Number);
reasonCode.Direction = ParameterDirection.Input;
reasonCode.Value = reasonCode_;
command.Parameters.Add(reasonCode);
OracleParameter lastName = new OracleParameter
("i_pLastName", OracleType.VarChar, 1024);
lastName.Direction = ParameterDirection.Input;
lastName.Value = userDetail.LastName ?? String.Empty;
command.Parameters.Add(lastName);
OracleParameter firstName = new OracleParameter
("i_pFirstName", OracleType.VarChar, 1024);
firstName.Direction = ParameterDirection.Input;
firstName.Value = userDetail.FirstName ?? String.Empty;
command.Parameters.Add(firstName);
OracleParameter dealerID = new OracleParameter
("i_pDealerID", OracleType.Number);
dealerID.Direction = ParameterDirection.Input;
dealerID.Value =
Int32.Parse(String.IsNullOrEmpty(userDetail.DealerID) ? "0" : userDetail.DealerID);
command.Parameters.Add(dealerID);
OracleParameter address1 = new OracleParameter
("i_pAddr1", OracleType.VarChar, 1024);
address1.Direction = ParameterDirection.Input;
address1.Value = userDetail.WorkAddress1 ?? String.Empty;
command.Parameters.Add(address1);
OracleParameter address2 = new OracleParameter
("i_pAddr2", OracleType.VarChar, 1024);
address2.Direction = ParameterDirection.Input;
address1.Value = userDetail.WorkAddress2 ?? String.Empty;
command.Parameters.Add(address2);
OracleParameter city = new OracleParameter
("i_pCity", OracleType.VarChar, 1024);
city.Direction = ParameterDirection.Input;
city.Value = userDetail.City ?? String.Empty;
command.Parameters.Add(city);
OracleParameter state = new OracleParameter
("i_pState", OracleType.VarChar, 1024);
state.Direction = ParameterDirection.Input;
state.Value = userDetail.State ?? String.Empty;
command.Parameters.Add(state);
OracleParameter zip = new OracleParameter
("i_pZip", OracleType.VarChar, 1024);
zip.Direction = ParameterDirection.Input;
zip.Value = userDetail.Zip ?? String.Empty;
command.Parameters.Add(zip);
OracleParameter email = new OracleParameter
("i_pBusinessEmail", OracleType.VarChar, 1024);
email.Direction = ParameterDirection.Input;
email.Value = userDetail.EMail ?? String.Empty;
command.Parameters.Add(email);
OracleParameter phone = new OracleParameter
("i_pBusinessPhone", OracleType.VarChar, 1024);
phone.Direction = ParameterDirection.Input;
phone.Value = userDetail.Phone ?? String.Empty;
command.Parameters.Add(phone);
OracleParameter reviewDate = new OracleParameter
("i_pReviewDate", OracleType.DateTime);
reviewDate.Direction = ParameterDirection.Input;
reviewDate.Value = userDetail.ReviewedDate ?? (object)DBNull.Value;
command.Parameters.Add(reviewDate);
OracleParameter reviewedbyWhom = new OracleParameter
("i_pReviewedByWhom", OracleType.VarChar, 1024);
reviewedbyWhom.Direction = ParameterDirection.Input;
reviewedbyWhom.Value = userDetail.ReviewedByWhom ?? String.Empty;
command.Parameters.Add(reviewedbyWhom);
OracleParameter repID = new OracleParameter
("i_pDealersRepID", OracleType.VarChar, 1024);
repID.Direction = ParameterDirection.Input;
repID.Value = userDetail.RepID ?? String.Empty;
command.Parameters.Add(repID);
OracleParameter comments = new OracleParameter
("i_pComments", OracleType.VarChar, 1024);
comments.Direction = ParameterDirection.Input;
comments.Value = userDetail.Comments ?? String.Empty + comments_;
command.Parameters.Add(comments);
OracleParameter privacyUsageFlag = new OracleParameter
("i_pPrivacyUsageFlag", OracleType.VarChar, 1024);
privacyUsageFlag.Direction = ParameterDirection.Input;
privacyUsageFlag.Value = userDetail.PrivacyAndUsageReadFlag ?? String.Empty;
command.Parameters.Add(privacyUsageFlag);
OracleParameter dealersBranchID = new OracleParameter
("i_pDealersBranchID", OracleType.VarChar, 1024);
dealersBranchID.Direction = ParameterDirection.Input;
dealersBranchID.Value = userDetail.DealerBranchID ?? String.Empty;
command.Parameters.Add(dealersBranchID);
OracleParameter privacyUsageDate = new OracleParameter
("i_pPrivacyUsageDate", OracleType.DateTime);
privacyUsageDate.Direction = ParameterDirection.Input;
privacyUsageDate.Value =
userDetail.PrivacyAndUsageReadDate ??(object)DBNull.Value;
command.Parameters.Add(privacyUsageDate);
OracleParameter marketingFlag = new OracleParameter
("i_pMarketingFlag", OracleType.VarChar, 1024);
marketingFlag.Direction = ParameterDirection.Input;
marketingFlag.Value = userDetail.SendMarketingEmailFlag ?? String.Empty;
command.Parameters.Add(marketingFlag);
OracleParameter marketingDate = new OracleParameter
("i_pMarketingDate", OracleType.DateTime);
marketingDate.Direction = ParameterDirection.Input;
marketingDate.Value =
userDetail.SendMarketingEmailDate ?? (object)DBNull.Value;
command.Parameters.Add(marketingDate);
OracleParameter country = new OracleParameter
("i_pWorkCountry", OracleType.VarChar, 1024);
country.Direction = ParameterDirection.Input;
country.Value = userDetail.Country ?? String.Empty;
command.Parameters.Add(country);
OracleParameter oper = new OracleParameter
("i_pOperator", OracleType.VarChar, 1024);
oper.Direction = ParameterDirection.Input;
oper.Value = operator_;
command.Parameters.Add(oper);
OracleParameter returnStatus = new OracleParameter
("o_return_status", OracleType.Int16);
returnStatus.Direction = ParameterDirection.Output;
command.Parameters.Add(returnStatus);
OracleParameter errorDesc = new OracleParameter
("o_error_desc", OracleType.VarChar, 1024);
errorDesc.Direction = ParameterDirection.Output;
command.Parameters.Add(errorDesc);
Without a specific error that's occuring, its hard to give a specific answer. The code you've posted could be correct. There's nothing I see that is wrong in all scenarios. However, here are a few places I would start looking.
Is your command statement formatted properly? Do all the VarChar parameters accept 1024 characters? Are any of your strings going into a VarChar column longer than 1024? Is the returnStatus type of Int16 correct?
Anyway, those are some places to start, if you post some more detailed information on the issue, you may get some more responses.