Here is code that should be able to reproduce the problem.
Code: Select all
using System;
using System.Data;
using Devart.Data.Oracle;
namespace TestExecuteArray
{
class Program
{
static void Main()
{
TestExecuteArray();
}
static void TestExecuteArray()
{
using (OracleConnection conn = new OracleConnection("Direct=true;Server=;SID=ORCL;User ID=BusCont;Password=;Pass Parameters By Name=true;"))
{
conn.Open();
using (OracleCommand cmd = conn.CreateCommand())
{
using (OracleTransaction transaction = conn.BeginTransaction())
{
cmd.CommandText = "INSERT INTO \"BUSINESS_CALLING_TREE\" (\"PARENTCONTENTID\", \"CONTENTID\", \"FIRST_PUBLISHED_DATE\", \"FIRST_PUBLISHED_USERNAME\", \"FIRST_PUBLISHED_DISPLAYNAME\", \"LAST_UPDATED_DATE\", \"LAST_UPDATED_USERNAME\", \"LAST_UPDATED_DISPLAYNAME\", \"PHONE_BUSINESS_DIRECT\", \"PHONE_HOME\", \"PHONE_MOBILE\", \"EMAIL_BUSINESS\") VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12)";
cmd.Parameters.Add(new OracleParameter("1", OracleDbType.Integer) { Direction = ParameterDirection.Input, Value = new[] { 123670, 123812 } });
cmd.Parameters.Add(new OracleParameter("2", OracleDbType.Integer) { Direction = ParameterDirection.Input, Value = new[] { 123669, 123811 } });
cmd.Parameters.Add(new OracleParameter("3", OracleDbType.Date) { Direction = ParameterDirection.Input, Value = new[] { new DateTime(2001, 7, 29), new DateTime(2001, 8, 16) } });
cmd.Parameters.Add(new OracleParameter("4", OracleDbType.NClob) { Direction = ParameterDirection.Input, Value = new[] { "ema", "ema" } });
cmd.Parameters.Add(new OracleParameter("5", OracleDbType.NClob) { Direction = ParameterDirection.Input, Value = new[] { "Mas, Eh", "Mas, Eh" } });
cmd.Parameters.Add(new OracleParameter("6", OracleDbType.Date) { Direction = ParameterDirection.Input, Value = new[] { new DateTime(2001, 7, 29), new DateTime(2001, 8, 16) } });
cmd.Parameters.Add(new OracleParameter("7", OracleDbType.NClob) { Direction = ParameterDirection.Input, Value = new[] { "ema", "ema" } });
cmd.Parameters.Add(new OracleParameter("8", OracleDbType.NClob) { Direction = ParameterDirection.Input, Value = new[] { "Mas, Eh", "Mas, Eh" } });
cmd.Parameters.Add(new OracleParameter("9", OracleDbType.NClob)
{
Direction = ParameterDirection.Input,
Value = new[] { "", "" }
});
cmd.Parameters.Add(new OracleParameter("10", OracleDbType.NClob)
{
Direction = ParameterDirection.Input,
Value = new[] { "", "" }
});
cmd.Parameters.Add(new OracleParameter("11", OracleDbType.NClob)
{
Direction = ParameterDirection.Input,
Value = new[] { "", "" }
});
cmd.Parameters.Add(new OracleParameter("12", OracleDbType.NClob)
{
Direction = ParameterDirection.Input,
Value = new[] { "", "" }
});
cmd.ExecuteArray(2);
transaction.Rollback();
}
}
}
}
}
}