Code: Select all
create or replace procedure test_close_of_cursor
(
cur out MyTypeRefCorsor
)
is
begin
open cur for
select * from dual;
end test_close_of_cursor;
Code: Select all
for (int i=0; i<1000; i++)
{
using(OracleCommand cmd = new OracleCommand("test_close_of_cursor", (OracleConnection)_cnn))
{
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter p = new OracleParameter("cur", OracleDbType.Cursor);
p.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p);
using (OracleDataReader reader = cmd.ExecuteReader())
{
}
}
}
so - cursors dont close even after dispose of command and reader