Hi All,
I have a stored procedure in Oracle which has the following signature
create or replace
PROCEDURE CAT_POPULATE_GFRN_DETAILS_PRC
(
varGFCIDLIST IN VARRAY_VARCHAR_TYPE,
resultset OUT types.cursorType
)
where VARRAY_VARCHAR_TYPE has following definition
create or replace
TYPE "VARRAY_VARCHAR_TYPE" IS TABLE OF VARCHAR2(400);
How to pass the equivalent Oracle (ODP.Net) in C# to call the procedure.
I have tried following code but it gives me exception
OracleCommand cmdSSORRData = new OracleCommand();
cmdSSORRData.Connection = con;
cmdSSORRData.CommandText = "CAT_POPULATE_GFRN_DETAILS_PRC";
cmdSSORRData.CommandType = CommandType.StoredProcedure;
OracleParameter paramGFCID = cmdSSORRData.Parameters.Add("varGFCIDLIST", OracleDbType.Varchar2, ParameterDirection.Input);
OracleParameter curSSORRValue = cmdSSORRData.Parameters.Add("resultset", OracleDbType.RefCursor, ParameterDirection.Output; paramGFCID.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
paramGFCID.Value = selectedGFCIDs.ToArray();
OracleDataAdapter da = new OracleDataAdapter(cmdSSORRData);
da.Fill(dsGFRNDetails);
Exception Details
Oracle.DataAccess.Client.OracleException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to
ORA-06550: line 1, column 7:
Thanks in advance !!
"Happy Coding"