Problem to open a query

Problem to open a query

Postby webpac » Fri 02 Nov 2007 15:24

Hello all,

I’m a testing the dbexpida.dll trial version.
I would like use the dbexpida.dll to have explicits errors messages but I've to valide it that all existing querys continue work well.

I make a request with 2 tables, the first one got 918 000 rows and the second one got 651 000 rows.

The request returns 918 000 rows.

The database is 2Go.

With dbexpInt.dll, the request opens immediately.
With dbexpida.dll, the request doesn’t work.

I’m using the 2.2.0.4 version and Delphi 7.

Is it a dbexpida problem or is it another problem ?
Have you got a solution ?
What can I do?

Cordially,

PS: This is the request is:

Code: Select all
SELECT
   SGCO_015_HISTOENT.IDHISTOENT AS IDHISTOENT_0,
   SGCO_015_HISTOLIG.IDHISTOLIG AS IDHISTOLIG_1

FROM
   SGCO_015_HISTOENT,
   SGCO_015_HISTOLIG

WHERE
      SGCO_015_HISTOLIG.IDHISTOLIG = SGCO_015_HISTOENT.IDHISTOENT
webpac
 
Posts: 32
Joined: Wed 04 Apr 2007 16:13

Postby webpac » Fri 02 Nov 2007 16:00

Hello,

these is some precisions, I open the query in a thread.
The query works but slowly.

With dbexpInt.dll, the request opens immediately and my application uses 18Mo.
With dbexpida.dll, the request opens after 20 second, during the opening, the application uses 50% of the CPU (I got CoreDuo processor). After the opening, the application uses 160Mo.

Waiting for an help, thanks.
webpac
 
Posts: 32
Joined: Wed 04 Apr 2007 16:13

Postby Plash » Mon 05 Nov 2007 10:06

After openning the connection you should set the FetchAll driver option to False. For example:
Code: Select all
const
  coFetchAll = TSQLConnectionOption(301);
begin
  SQLConnection1.Open;
  SQLConnection1.SQLConnection.SetOption(coFetchAll, Integer(False));
  SQLQuery1.Open;
end;
Plash
Devart Team
 
Posts: 2844
Joined: Wed 10 May 2006 07:09


Return to dbExpress driver for InterBase & Firebird