Page 1 of 1

Problem to open a query

Posted: Fri 02 Nov 2007 15:24
by webpac
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

Posted: Fri 02 Nov 2007 16:00
by webpac
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.

Posted: Mon 05 Nov 2007 10:06
by Plash
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;