Page 1 of 1

Exception in CoreLab.Oracle.OracleCursor.Finalize()

Posted: Sun 10 Dec 2006 17:14
by Leonid
We are using OraDirect .NET 3.50.10 in our .Net application and Oracle 9.2.0.4. .Net code that works with Oracle DB is state inside .DLL that we are calling through another .EXE. We are working in Direct mode and Unicode = true. We reading output cursors by OracleDataReader. Sometimes on closing application I am recieving error:
System.ObjectDisposedException was unhandled
Message="Safe handle has been closed"
Source="System"
ObjectName=""
StackTrace:
at System.Net.UnsafeNclNativeMethods.OSSOCK.getsockopt(SafeCloseSocket socketHandle, SocketOptionLevel optionLevel, SocketOptionName optionName, Int32& optionValue, Int32& optionLength)
at System.Net.Sockets.Socket.GetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName)
at System.Net.Sockets.TcpClient.numericOption(SocketOptionLevel optionLevel, SocketOptionName optionName)
at System.Net.Sockets.TcpClient.get_ReceiveTimeout()
at CoreLab.Oracle.g.a(Int32 A_0)
at CoreLab.Oracle.b.a()
at CoreLab.Oracle.a5.q()
at CoreLab.Oracle.OracleCursor.Finalize()


The problem occurs occationally and hard reprodusable. Do you have any idea what is the reason of this exception?

Posted: Mon 11 Dec 2006 07:40
by Leonid
Some details: reading output stored procedure cursors implemented like this:
GlobalData.DataBaseAccess.oraConnection.Open();
GlobalData.DataBaseAccess.getDescriptiveCommand.ExecuteNonQuery();
CoreLab.Oracle.OracleDataReader dataReader =
((OracleCursor)getDescriptiveCommand.Parameters ["cursorName"].OracleValue).GetDataReader();
while (dataReader.Read())
{
}
dataReader.Close();

May be the problem is somewhere here? When I am commenting this code the exception is disappear.

Posted: Mon 11 Dec 2006 08:05
by Alexey
We are investigating this problem.
You will be notified on results as soon as possible.

Posted: Mon 18 Dec 2006 08:08
by Alexey
This problem is fixed in OraDirect 3.55.15.

Posted: Mon 18 Dec 2006 10:57
by Leonid
Hi,
Can you please tell me when the version 3.55.15. is expected?
It is very urgent to us.
Thanks
Leonid

Posted: Mon 18 Dec 2006 11:12
by Alexey
OraDirect .NET Data Provider 3.55.15 has already been released.

Posted: Mon 18 Dec 2006 13:06
by Leonid
Thank you. Very good job!

Posted: Tue 19 Dec 2006 07:40
by Alexey
You're welcome.