Non blocking and parallel execution question

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Non blocking and parallel execution question

Post by paolo » Wed 05 Dec 2007 11:58

Hi support

I use Delphi 2007
Oracle 10G
Odac professional 6.25.0.12
windows XP SP2
OraSession.Direct := true
OraSession.optimizermode := omFirstRows
All oraquery have NonBlocking = true and FetchAll = true;

In my application i have one session that execute a query and display the resulset into a dbgrid, while the query is Executed i read
the RowsProcessed property and display the download status to the user, the application works great, but when i run other query (needing a long time before return)
on the same session the previous query that was Fetching data is "paused" until the new one ends its run.

How i can avoid this behavior ?

Thanks in advance Paolo

paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Post by paolo » Mon 10 Dec 2007 15:36

Sorry guys, do you have any news ?

jfudickar
Posts: 202
Joined: Fri 10 Mar 2006 13:03
Location: Oberursel / Germany

Post by jfudickar » Mon 10 Dec 2007 17:52

There is no way to do it.

IT's only allowed to have one active query on a session. While one query is executed the other query is locked.

As far as i know, is it an oracle restriction.

Greetings
Jens

paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Post by paolo » Tue 11 Dec 2007 08:14

Ok

One Session One query ....

paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Post by paolo » Tue 11 Dec 2007 13:32

Question ?!?

If you look at odac multiquery demo you can see a different behavior why ?

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Thu 13 Dec 2007 08:58

In MultiQuery demo there is query that can be executed fast. But long time is needed to fetch all rows.

In your application the second query needs long time for execute. Other operations cannot be performed while that query is executed. This is an Oracle limitation.

paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Post by paolo » Thu 13 Dec 2007 09:18

Ok

Thansk for your reply

jfudickar
Posts: 202
Joined: Fri 10 Mar 2006 13:03
Location: Oberursel / Germany

Post by jfudickar » Thu 13 Dec 2007 09:46

Hi,

this was the reason for my request:

http://crlab.com/forums/viewtopic.php?t=11023

If this is enabled you have a chance to react on such situations.

Greetings
Jens

paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Post by paolo » Fri 14 Dec 2007 08:32

jfudickar wrote:Hi,

this was the reason for my request:

http://crlab.com/forums/viewtopic.php?t=11023

If this is enabled you have a chance to react on such situations.

Greetings
Jens
Maybe usefull

By

jfudickar
Posts: 202
Joined: Fri 10 Mar 2006 13:03
Location: Oberursel / Germany

Post by jfudickar » Fri 14 Dec 2007 11:00

If you are interested in visual threaded dataset you can also have a look at my jvcl implementation of odac datasets.

With this implementation you get a modal or nonmodal dialog which shows the execution while the fetching is done in the backend thread.

You find it here : http://homepages.codegear.com/jedi/jvcl/

Greetings
Jens

paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Post by paolo » Fri 14 Dec 2007 13:40

Hi jfudickar

Thans for your suggestion.

Post Reply