Code: Select all
DDL:
CREATE OR REPLACE procedure test (p_Date IN dbms_sql.TimeStamp_Table)
AS
BEGIN
NULL;
END;
C#
OracleConnection conn = new OracleConnection("User Id=***;password=***;server=***;Direct=false;");
conn.Open();
DateTime[] dates = new DateTime[] { DateTime.Now, DateTime.Now, DateTime.Now };
OracleCommand cmd = new OracleCommand("test", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.PassParametersByName = true;
cmd.Parameters.AddWithValue("p_Date", dates);
cmd.Parameters["p_Date"].ArrayLength = dates.Length;
cmd.ExecuteNonQuery();
conn.Close();
A have an error:
PLS-00418:array bind type must match PL/SQL table row type