에 전달합니다. PLSQL 사양에 컬렉션 테이블 및 레코드를 선언했습니다.C#의 배열 매개 변수를 Oracle의 컬렉션 유형 테이블
type loan_recov_rec is record(v_prncpl_ed_cd number(3),v_prncpl_recov number (7),v_int_ed_cd number(3), v_int_recov,number(5)); type loan_recov_tbl is table of loan_recov_rec index by binary_integer;
절차 pr_final_settlement (loan_recov_tbl에 v_loan_recov_tbl);
그래서, 나는 그것이, 내가 OracleDbType.Int32
으로 데이터 유형을 사용하고하는 것은 바로 그것을 들으 오류 Unable to cast object of type 'System.Int32' to type 'System.Array'. v_loan_recov_tbl is an Array Parameter.
이다의 취득 작품 수 없습니다 위의 코드를 사용하여 C#을 페이지
cmd.ArrayBindCount = v_loan_recov_tbl.Length;
Oracle.DataAccess.Client.OracleParameter P_loan_recov = new Oracle.DataAccess.Client.OracleParameter("v_loan_recov_tbl", Oracle.DataAccess.Client.OracleDbType.Int32);
P_loan_recov.Direction = ParameterDirection.Input;
P_loan_recov.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
P_loan_recov.Value = v_loan_recov_tbl;
cmd.Parameters.Add(P_loan_recov);
에서 배열 매개 변수를 전달 또는 내가 decler해야 다른 데이터 형식입니다. 나는 프로 시저에서 입력 매개 변수를 표로 선언합니다.