NRE when executing stored procedure with array type param
Posted: Mon 26 Dec 2011 17:57
When I execute storedprocedure, NRE is thrown from the provider after upgrading from version 6.50.228
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:
Regards,
Kfir
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