The following code reproduces the exception:
DDL:
PROCEDURE WITH_ARRAY_PARAM ( p_array guid_array_t)
IS
BEGIN
null;
END;
TYPE guid_array_t is table of raw(16)
configuration connection string:
code:
Code: Select all
var conn = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings["conn"].ProviderName).CreateConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
using (conn)
{
conn.Open();
using (IDbCommand command = conn.CreateCommand())
{
command.CommandText = "WITH_ARRAY_PARAM";
command.CommandType = CommandType.StoredProcedure;
var param = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings["conn"].ProviderName).CreateParameter();
param.ParameterName = "p_array";
IList paramVal = new OracleArray(OracleType.GetObjectType("guid_array_t", (OracleConnection)conn));
param.Value = paramVal;
command.Parameters.Add(param);
command.ExecuteNonQuery(); // NRE
}
}
Kfir