Idle Parallel Query Server's held by ODAC

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Leadfoot77
Posts: 1
Joined: Wed 12 Jan 2011 14:29

Idle Parallel Query Server's held by ODAC

Post by Leadfoot77 » Wed 12 Jan 2011 14:43

Hi, first of all I'm sorry I'm currently lacking some potentially useful details. I'm going to try to post my question without them and see if there is a general feeling for it and if necessary I will return with the necessary information.

We have a grid connected to an odac dataset which is configured to only fetch X rows initially. If the user executes a query in our application that returns more than X rows and then leaves the window open without scrolling the grid to the bottom, forcing the dataset to fetch the rest of the rows, then there are many parallel query server sessions sitting around in Oracle idling. This leads to a problem if multiple users connected are doing this and taking up all of the parallel query server threads available in Oracle.

I'm wondering if anyone has any thoughts or suggestions about this situation or if anyone has encountered this issue and come up with a solution.

If more detailed information would help please let me know and I will make an effort to retrieve it.

Thanks a lot!

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Thu 13 Jan 2011 11:01

Hello,

Please specify the problem in more details.
As I can understand you don't want all records to be fetched in the dataset?
If it is so then you can use the where clauses to limit the record number like

bork
Devart Team
Posts: 649
Joined: Fri 12 Mar 2010 07:55

Post by bork » Tue 08 Feb 2011 08:40

Hello

ODAC has the NonBlocking property that allows executing queries in a separate thread and and does not block your application. You can find more detailed information about the NonBlocking property in the ODAC help and ODAC demos. Also you can choose another way: you can create your own thread and execute the query there.

Post Reply