Non-Blocking query. UniDac and Oracle

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
sbovin
Posts: 1
Joined: Sat 18 Jan 2014 04:07

Non-Blocking query. UniDac and Oracle

Post by sbovin » Sat 18 Jan 2014 04:15

How do I use non-blocking SQL ?

I want to execute a long running query that will display results in a grid.
I want the user to be able to cancel the query by pressing a button.

I also want the user to be able to continue working on the application, such as editing text in a memo, while the query is still running, instead of showing an hourglass and not allowing any input

I am using the latest version of UniDave latest and Oracle database

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

Re: Non-Blocking query. UniDac and Oracle

Post by AlexP » Mon 20 Jan 2014 11:51

Hello,

The NonBlocking mode is supported in ODAC only. To implement this mode in UniDAC, you should create separate threads by yourself (using the standard TThread) to execute such queries and control their execution.

andrefm
Posts: 37
Joined: Wed 23 Oct 2013 10:02

Re: Non-Blocking query. UniDac and Oracle

Post by andrefm » Mon 20 Jan 2014 20:19

Hi Alex,

I have ODAC and know this non-blocking feature is very nice and works well, but I was planning changing to UNIDAC to use multiple DB's (Oracle and SQL Server) using one single program code.

I made a question before about this and you wrote:
"For the time being, the NonBlocking mode is implemented in SDAC and ODAC. It means that in UniDAC, you can use the NonBlocking mode when working with SQL Server and Oracle providers."

Even at history I see:
4.1.3: Oracle: Support for the NonBlocking option is added
5.2.5: Oracle: Memory Leak in the NonBlocking mode is fixed

Do you know if Devart have plans adding this non-blocking feature for other DBs? I know about user.voice but even looking at it it doesn't mean that Devart will implement features people are requesting. Unfortunately Devart don't have any roadmap where people can see when features will be implemented or not.

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

Re: Non-Blocking query. UniDac and Oracle

Post by AlexP » Tue 21 Jan 2014 10:20

Hello,

Yes, indeed, this option is already added to UniDAC. It can be set in the following way:

Code: Select all

  UniQuery1.SpecificOptions.Values['Oracle.NonBlocking'] := 'true';
Or in the UniQuery dialog, at the Options tab

Post Reply