[Mono-devel-list] [PATCH]Fix for Oracle problems (Threading, #52288, #52699, #52702), Tracing of OCI calls
Jörg Rosenkranz
joergr at voelcker.com
Fri Jan 9 06:12:40 EST 2004
Hi all,
After some research I have found solutions for my Oracle problems:
1) OracleClient crashes in multithreaded environment:
http://bugzilla.ximian.com/show_bug.cgi?id=52699
This was caused by environment handles initialized without
OCI_THREADING flag.
2) ORA-01000: maximum open cursors exceeded:
http://bugzilla.ximian.com/show_bug.cgi?id=52288
OciHandles aren't disposed where they are created. They are
disposed by the Finalizer which causes many open handles.
3) No statements can be processed after committing an
OracleTransaction:
http://bugzilla.ximian.com/show_bug.cgi?id=52702
The service handle contains a invalid transaction handle
after commit.
The attached patch contains fixes for all these problems. To track
them down I have introduced the class OciCalls which wraps all calls
to the OCI.dll. The calls can be traced when environment variable
OCI_TRACE is set and System.Data.OracleClient.dll is compiled using
the TRACE flag:
export MONO_TRACE=Console.Out
export OCI_TRACE=yes
Can someone please review and commit this patch (I have tested it
against Oracle 9i).
Thanks,
Joerg.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OracleFixes_2004-01-09.diff
Type: application/octet-stream
Size: 37508 bytes
Desc: OracleFixes_2004-01-09.diff
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040109/fa7dfbc0/attachment.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OciCalls.cs
Type: application/octet-stream
Size: 20731 bytes
Desc: OciCalls.cs
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040109/fa7dfbc0/attachment-0001.obj
More information about the Mono-devel-list
mailing list