With the following C# code (using devArt’s dotConnect for Oracle components):
OracleParameter pRes = new OracleParameter("C_REF", OracleDbType.Cursor);
pRes.Direction = ParameterDirection.ReturnValue;
oracleCommand1.Parameters.Clear();
oracleCommand1.Parameters.Add("iStartDate", "01-jan-2011");
oracleCommand1.Parameters.Add("iEndDate", "21-jan-2011");
oracleCommand1.Parameters.Add("iCATEGORYID", 114);
oracleCommand1.Parameters.Add(pRes);
oracleConnection1.Open();
oracleCommand1.ExecuteCursor();
…I’m getting:
Devart.Data.Oracle.OracleException was unhandled
Message=ORA-06550: line 2, column 13:
PLS-00306: wrong number or types of arguments in call to ‘CONN_THRU_DOTNET’
ORA-06550
The parameters are (copied from the Stored Procedure):
iStartDate IN DATE
, iEndDate IN DATE
, iCATEGORYID IN NUMBER
, C_REF IN OUT SYS_REFCURSOR
I assume it’s the date vals that are causing a problem. What am I doing wrong here?
You should be using a
DateTime, not astringat all. That’s one of the points of using parameterized queries in the first place.