Page 1 of 1

Oracle 10g: Multiple simultaneous operations possible?

Posted: Tue 03 Nov 2009 11:45
by CG
Dear forum members,

I try to parallelize operations by using several threads in my application. The first thread stream data to the local file system, a second thread decompress the data downloaded by the first thread and a third thread uploads the decompressed data back to the database.
Every thread is working properly if running solely. Also thread one and two operates together as expected. But if thread 3 is running a exception is raised by the Oracle database: ORA-03127. It seems that multiple simultaneous operations not allowed. Is there a way to get this approach working? No matter if this is a limitation of the Oracle database or the dbexpoda driver. I use Oracle 10g (OCI bridge) and dbexpoda release 2.50.5.0. The application is developed under Delphi 6.

Thanks in advance for your help.

Best regards,

Carsten

Posted: Wed 04 Nov 2009 10:36
by Plash
If your thread 1 and thread 3 both work with Oracle database, try to use separate TSQLConnection components for these threads.

Posted: Wed 04 Nov 2009 15:14
by CG
Hello Plash,

Thank you very much for your reply. Using a second TSQLConnection component was one of the first thoughts. But this also failes with the same exception.

Best regards,

Carsten

Posted: Mon 09 Nov 2009 09:55
by Plash
We could not reproduce the problem. Please send to support*devart*com a complete small sample that demonstrates the problem, including the script for creating database objects.

Posted: Tue 10 Nov 2009 08:12
by CG
Hmmm, because you can't reproduce this behaviour I still do some further investigation. If I don't find out anything new I will send a service request as you suggested. Anyway, I'll publish the results in this thread (but it may take a while).
Again, thank your for your help!
Best regards, CG

Posted: Wed 10 Feb 2010 13:24
by CG
I want to give a short response to close this thread. After reviewing the source code once again I noticed that an (DML) update statement was executed through a TSQLConnection component from a different thread and not over the one of the own thread. So Plash was right (I never had any doubts!).

Thank you very much for your help again!

Best regards, CG