ODAC v.5.80.0.42 TOraSession:Connect/Disconnect memory leak
ODAC v.5.80.0.42 TOraSession:Connect/Disconnect memory leak
Hi,
TOraSession Connect/Disconnect causes memory leak.
In task manager the handles increasing again and again.
I've tested it with ODAC v.5.80.0.42 and Borland C++ builder 5.
Loop :
TOraSession* pSession = NULL;
pSession = new TOraSession(NULL);
pSession->AutoCommit = false;
pSession->ConnectPrompt = false;
pSession->Server = "mydatabase";
pSession->Username = "myusername"
pSession->Password = "mypassword";
pSession->Connect();
pSession->Disconnect();
delete pSession;
P.S. Sorry for my bad English.
Is there a patch for this problem?
Thanks for your help.
TOraSession Connect/Disconnect causes memory leak.
In task manager the handles increasing again and again.
I've tested it with ODAC v.5.80.0.42 and Borland C++ builder 5.
Loop :
TOraSession* pSession = NULL;
pSession = new TOraSession(NULL);
pSession->AutoCommit = false;
pSession->ConnectPrompt = false;
pSession->Server = "mydatabase";
pSession->Username = "myusername"
pSession->Password = "mypassword";
pSession->Connect();
pSession->Disconnect();
delete pSession;
P.S. Sorry for my bad English.
Is there a patch for this problem?
Thanks for your help.
-
- Devart Team
- Posts: 925
- Joined: Thu 17 Nov 2005 10:53
-
- Devart Team
- Posts: 925
- Joined: Thu 17 Nov 2005 10:53
This problem occurs because of a bug in the Oracle client.
We can reproduce the problem with the client 9.2.0.1. To fix the problem add the OraCall unit to 'uses', and add the following code to the initialization section of your unit:
This disables support for multi-threaded appication in OCI. In this case handles do not leak. You can use this mode if you don't work with Oracle from several threads.
We cannot reproduce the problem with Oracle client 10.2.0.1. In this client handles do not leak with any value of the OCIThreaded variable. So you can upgrade your Oracle client to fix the problem.
We can reproduce the problem with the client 9.2.0.1. To fix the problem add the OraCall unit to 'uses', and add the following code to the initialization section of your unit:
Code: Select all
initialization
OCIThreaded := False;
We cannot reproduce the problem with Oracle client 10.2.0.1. In this client handles do not leak with any value of the OCIThreaded variable. So you can upgrade your Oracle client to fix the problem.