Я пытался решить эту проблему, но безрезультатно. Я получаю ошибку при вставке большого куска данных в пакет Oracle, содержащий процедуру INSCRAPP. Сообщение об ошибке:
ORA-06550: строка 1, столбец 7:
PLS-00306: неправильный номер или типы
аргументы в вызове «INSCRAPP»
ORA-06550: строка 1, столбец 7: PL / SQL:
Заявление игнорируется
Код на C # большой, но я передаю параметры, которые передаю,
oraCmd.Parameters.Clear();
OracleParameter param_fName_in = new OracleParameter("fName_in", OracleType.VarChar);
param_fName_in.Value = FirstName;
param_fName_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_fName_in);
OracleParameter param_mi_in = new OracleParameter("mi_in", OracleType.VarChar);
param_mi_in.Value = MiddleInitial;
param_mi_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_mi_in);
OracleParameter param_lName_in = new OracleParameter("lName_in", OracleType.VarChar);
param_lName_in.Value = LastName;
param_lName_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_lName_in);
OracleParameter param_addr1_in = new OracleParameter("addr1_in", OracleType.VarChar);
param_addr1_in.Value = HousingAddress1;
param_addr1_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_addr1_in);
OracleParameter param_addr2_in = new OracleParameter("addr2_in", OracleType.VarChar);
param_addr2_in.Value = HousingAddress2;
param_addr2_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_addr2_in);
OracleParameter param_city_in = new OracleParameter("city_in", OracleType.VarChar);
param_city_in.Value = HousingCity;
param_city_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_city_in);
OracleParameter param_st_cd_in = new OracleParameter("st_cd_in", OracleType.VarChar);
param_st_cd_in.Value = HousingStateCode;
param_st_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_st_cd_in);
OracleParameter param_zip_cd_in = new OracleParameter("zip_cd_in", OracleType.VarChar);
param_zip_cd_in.Value = HousingZipCode;
param_zip_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_zip_cd_in);
OracleParameter param_home_phone_in = new OracleParameter("home_phone_in", OracleType.VarChar);
param_home_phone_in.Value = HomePhone;
param_home_phone_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_home_phone_in);
OracleParameter param_work_phone_in = new OracleParameter("work_phone_in", OracleType.VarChar);
param_work_phone_in.Value = WorkPhone;
param_work_phone_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_work_phone_in);
OracleParameter param_ext_in = new OracleParameter("ext_in", OracleType.VarChar);
param_ext_in.Value = WorkExtension;
param_ext_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_ext_in);
OracleParameter param_email_Addr_in = new OracleParameter("email_Addr_in", OracleType.VarChar);
param_email_Addr_in.Value = EmailAddress;
param_email_Addr_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_email_Addr_in);
OracleParameter param_ssn_in = new OracleParameter("ssn_in", OracleType.VarChar);
param_ssn_in.Value = SocialSecurityNumber;
param_ssn_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_ssn_in);
OracleParameter param_dob_in = new OracleParameter("dob_in", OracleType.VarChar);
param_dob_in.Value = DateOfBirth;
param_dob_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_dob_in);
OracleParameter param_dl_number_in = new OracleParameter("dl_number_in", OracleType.VarChar);
param_dl_number_in.Value = DriverLicenseNumber;
param_dl_number_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_dl_number_in);
OracleParameter param_dl_st_cd_in = new OracleParameter("dl_st_cd_in", OracleType.VarChar);
param_dl_st_cd_in.Value = DriverLicenseStateCode;
param_dl_st_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_dl_st_cd_in);
OracleParameter param_poe_in = new OracleParameter("poe_in", OracleType.VarChar);
param_poe_in.Value = PlaceOfEmployment;
param_poe_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_poe_in);
OracleParameter param_start_date_in = new OracleParameter("start_date_in", OracleType.VarChar);
param_start_date_in.Value = EmploymentStartDate;
param_start_date_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_start_date_in);
OracleParameter param_income_in = new OracleParameter("income_in", OracleType.VarChar);
param_income_in.Value = TotalAnnualIncome;
param_income_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_income_in);
OracleParameter param_occupation_in = new OracleParameter("occupation_in", OracleType.VarChar);
param_occupation_in.Value = Occupation;
param_occupation_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_occupation_in);
OracleParameter param_rent_own_in = new OracleParameter("rent_own_in", OracleType.VarChar);
param_rent_own_in.Value = HousingStatus;
param_rent_own_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_rent_own_in);
OracleParameter param_store_cd_in = new OracleParameter("store_cd_in", OracleType.VarChar);
param_store_cd_in.Value = ShoppingStoreCode;
param_store_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_store_cd_in);
OracleParameter param_sales_assoc_name_in = new OracleParameter("sales_assoc_name_in", OracleType.VarChar);
param_sales_assoc_name_in.Value = SaleRepresentativeName;
param_sales_assoc_name_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_sales_assoc_name_in);
OracleParameter param_co_fName_in = new OracleParameter("co_fName_in", OracleType.VarChar);
param_co_fName_in.Value = CoApp_FirstName;
param_co_fName_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_fName_in);
OracleParameter param_co_mi_in = new OracleParameter("co_mi_in", OracleType.VarChar);
param_co_mi_in.Value = CoApp_MiddleInitial;
param_co_mi_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_mi_in);
OracleParameter param_co_lName_in = new OracleParameter("co_lName_in", OracleType.VarChar);
param_co_lName_in.Value = CoApp_LastName;
param_co_lName_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_lName_in);
OracleParameter param_co_addr1_in = new OracleParameter("co_addr1_in", OracleType.VarChar);
param_co_addr1_in.Value = CoApp_HousingAddress1;
param_co_addr1_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_addr1_in);
OracleParameter param_co_addr2_in = new OracleParameter("co_addr2_in", OracleType.VarChar);
param_co_addr2_in.Value = CoApp_HousingAddress2;
param_co_addr2_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_addr2_in);
OracleParameter param_co_city_in = new OracleParameter("co_city_in", OracleType.VarChar);
param_co_city_in.Value = CoApp_HousingCity;
param_co_city_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_city_in);
OracleParameter param_co_st_cd_in = new OracleParameter("co_st_cd_in", OracleType.VarChar);
param_co_st_cd_in.Value = CoApp_HousingStateCode;
param_co_st_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_st_cd_in);
OracleParameter param_co_zip_cd_in = new OracleParameter("co_zip_cd_in", OracleType.VarChar);
param_co_zip_cd_in.Value = CoApp_HousingZipCode;
param_co_zip_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_zip_cd_in);
OracleParameter param_co_home_phone_in = new OracleParameter("co_home_phone_in", OracleType.VarChar);
param_co_home_phone_in.Value = CoApp_HomePhone;
param_co_home_phone_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_home_phone_in);
OracleParameter param_co_work_phone_in = new OracleParameter("co_work_phone_in", OracleType.VarChar);
param_co_work_phone_in.Value = CoApp_WorkPhone;
param_co_work_phone_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_work_phone_in);
OracleParameter param_co_ext_in = new OracleParameter("co_ext_in", OracleType.VarChar);
param_co_ext_in.Value = CoApp_WorkExtension;
param_co_ext_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_ext_in);
OracleParameter param_co_email_Addr_in = new OracleParameter("co_email_Addr_in", OracleType.VarChar);
param_co_email_Addr_in.Value = CoApp_EmailAddress;
param_co_email_Addr_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_email_Addr_in);
OracleParameter param_co_ssn_in = new OracleParameter("co_ssn_in", OracleType.VarChar);
param_co_ssn_in.Value = CoApp_SocialSecurityNumber;
param_co_ssn_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_ssn_in);
OracleParameter param_co_dob_in = new OracleParameter("co_dob_in", OracleType.VarChar);
param_co_dob_in.Value = CoApp_DateOfBirth;
param_co_dob_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_dob_in);
OracleParameter param_co_dl_number_in = new OracleParameter("co_dl_number_in", OracleType.VarChar);
param_co_dl_number_in.Value = CoApp_DriverLicenseNumber;
param_co_dl_number_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_dl_number_in);
OracleParameter param_co_dl_st_cd_in = new OracleParameter("co_dl_st_cd_in", OracleType.VarChar);
param_co_dl_st_cd_in.Value = CoApp_DriverLicenseStateCode;
param_co_dl_st_cd_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_dl_st_cd_in);
OracleParameter param_co_poe_in = new OracleParameter("co_poe_in", OracleType.VarChar);
param_co_poe_in.Value = CoApp_PlaceOfEmployment;
param_co_poe_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_poe_in);
OracleParameter param_co_start_date_in = new OracleParameter("co_start_date_in", OracleType.VarChar);
param_co_start_date_in.Value = CoApp_EmploymentStartDate;
param_co_start_date_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_start_date_in);
OracleParameter param_co_income_in = new OracleParameter("co_income_in", OracleType.VarChar);
param_co_income_in.Value = CoApp_TotalAnnualIncome;
param_co_income_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_income_in);
OracleParameter param_co_occupation_in = new OracleParameter("co_occupation_in", OracleType.VarChar);
param_co_occupation_in.Value = CoApp_TotalAnnualIncome;
param_co_occupation_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_occupation_in);
OracleParameter param_co_rent_own_in = new OracleParameter("co_rent_own_in", OracleType.VarChar);
param_co_rent_own_in.Value = CoApp_HousingStatus;
param_co_rent_own_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_co_rent_own_in);
OracleParameter param_ip_address_in = new OracleParameter("ip_address_in", OracleType.VarChar);
param_ip_address_in.Value = IPAddress;
param_ip_address_in.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_ip_address_in);
OracleParameter param_REQ_FINANCED_AMT_IN = new OracleParameter("REQ_FINANCED_AMT_IN", OracleType.VarChar);
param_REQ_FINANCED_AMT_IN.Value = RequestedFinanceAmount;
param_REQ_FINANCED_AMT_IN.Direction = ParameterDirection.Input;
oraCmd.Parameters.Add(param_REQ_FINANCED_AMT_IN);
OracleParameter param_o_cust_cd = new OracleParameter("o_cust_cd", OracleType.VarChar, 10);
param_o_cust_cd.Direction = ParameterDirection.Output;
oraCmd.Parameters.Add(param_o_cust_cd);
OracleParameter param_o_person_nr = new OracleParameter("o_person_nr", OracleType.Number);
param_o_person_nr.Direction = ParameterDirection.Output;
oraCmd.Parameters.Add(param_o_person_nr);
Параметры в процедуре Oracle:
PROCEDURE insCrApp (fName_in IN VARCHAR2,
mi_in IN VARCHAR2,
lName_in IN VARCHAR2,
addr1_in IN VARCHAR2,
addr2_in IN VARCHAR2,
city_in IN VARCHAR2,
st_cd_in IN VARCHAR2,
zip_cd_in IN VARCHAR2,
home_phone_in IN VARCHAR2,
work_phone_in IN VARCHAR2,
ext_in IN VARCHAR2,
email_Addr_in IN VARCHAR2,
ssn_in IN VARCHAR2,
dob_in IN VARCHAR2,
dl_number_in IN VARCHAR2,
dl_st_cd_in IN VARCHAR2,
poe_in IN VARCHAR2,
start_date_in IN VARCHAR2,
income_in IN VARCHAR2,
occupation_in IN VARCHAR2,
rent_own_in IN VARCHAR2,
store_cd_in IN VARCHAR2,
sales_assoc_name_in IN VARCHAR2,
co_fName_in IN VARCHAR2,
co_mi_in IN VARCHAR2,
co_lName_in IN VARCHAR2,
co_addr1_in IN VARCHAR2,
co_addr2_in IN VARCHAR2,
co_city_in IN VARCHAR2,
co_st_cd_in IN VARCHAR2,
co_zip_cd_in IN VARCHAR2,
co_home_phone_in IN VARCHAR2,
co_work_phone_in IN VARCHAR2,
co_ext_in IN VARCHAR2,
co_email_Addr_in IN VARCHAR2,
co_ssn_in IN VARCHAR2,
co_dob_in IN VARCHAR2,
co_dl_number_in IN VARCHAR2,
co_dl_st_cd_in IN VARCHAR2,
co_poe_in IN VARCHAR2,
co_start_date_in IN VARCHAR2,
co_income_in IN VARCHAR2,
co_occupation_in IN VARCHAR2,
co_rent_own_in IN VARCHAR2,
ip_address_in IN VARCHAR2,
REQ_FINANCED_AMT_IN IN VARCHAR2,
o_cust_cd OUT VARCHAR2,
o_person_nr OUT NUMBER)
Пожалуйста, помогите, так как я не мог понять, в чем проблема, поскольку мне кажется, что я неправильно устанавливаю тип данных в своем коде на C #, хотя я ожидаю, что OracleType.VarChar будет нормально отображаться в VARCHAR2 в Oracle.
Благодарю в ожидании.