1

この問題のトラブルシューティングを試みましたが、役に立ちませんでした。プロシージャ 'INSCRAPP' を含む Oracle パッケージに大量のデータを挿入すると、エラーが発生します。エラーメッセージは、

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 のパラメータは、

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)

OracleType.VarChar が Oracle の VARCHAR2 に正常にマップされることを期待していますが、C# コードでデータ型を正しく設定していないように見えるため、問題が何であるかを理解できなかったので、助けてください。

期待して感謝します。

4

2 に答える 2

0

以下のパラメータが繰り返されています。コピペがおかしくなったようです。

OracleParameter param_fName_in = new OracleParameter("fName_in", OracleType.VarChar);
OracleParameter param_mi_in = new OracleParameter("mi_in", OracleType.VarChar);
OracleParameter param_lName_in = new OracleParameter("lName_in", OracleType.VarChar);
OracleParameter param_addr1_in = new OracleParameter("addr1_in", OracleType.VarChar);
OracleParameter param_addr2_in = new OracleParameter("addr2_in", OracleType.VarChar);
OracleParameter param_city_in = new OracleParameter("city_in", OracleType.VarChar);
于 2010-09-28T19:55:18.587 に答える
0

パラメーターが一致しているように見えるため、@Rajesh に指定されているサイズについて発生する可能性のあるクエリを使用するとo_cust_id、2 つの可能性が生じます。(1) その正しいパッケージをヒットしていると確信していますか? 代わりにピックアップする可能性のある別のスキーマに、異なるパラメーターを持つ別のバージョンがないことを確認しますか? (2) パラメーターに注目しましたが、プロシージャー呼び出しは正しいですか? そのコードも投稿すると役立つ場合があります。

OracleType.VarChar/VARCHAR2 で期待どおりに機能することを確認するために、大文字と小文字を減らした (パラメーターが 1 つのプロシージャー) を試しましたか?

于 2010-09-28T21:54:46.583 に答える