Subject Re: [IBO] copy dataset
Author Daniel Rail
Hi,

At December 24, 2004, 05:11, yartax1 wrote:

> Hi,

> While doing a filters on a TIBOQuery in a wan, is too slow due to
> requering each time is filtered (even with few records). I thought to
> fetch the entire dataset without filtering to a ClientDataSet and
> then filter the ClientDataSet (this would increase performance). But
> copyiing a all datasets to a clientdatasets is a nightmare. Is there
> any manner to copy an TIBQuery to a clientdataset in a simple way?

There's no instant copy if that's what you are looking for. Since in
order to copy from TIBOQuery to ClientDataset, all the rows have to be
fetched from the server. You might want to try TIB_Cursor to fetch
your data, since it has less overhead than TIBOQuery.

> Another question, when fetching a query from a table that contains
> varchars(255), is the server responsable of transmitting only the data
> used in those fields (in my case Firebird 1.5.1)?

Yes, the server will only return the fields in the result set of the
query. And, varchar fields are not padded, since FB 1.5(i.e.: if the
field value is 10 characters, then the value transmitted is 10
characters, not 255).

Also, it is known that the speed on a WAN is not the best with
Firebird(the same goes for Interbase). The wire protocol is being
revised for FB 3.0, so that the speed would be very acceptable over a
WAN.

And, what is the connection speed of your WAN? And, what is the
expected response time in seconds?

Ultimately, the best solution would be using a middle-tier layer with
compression.
Just to name a few:
- Borland's Datasnap
- KBM Middle-Ware (www.components4developers.com)
- ICS MidWare (http://www.overbyte.be/frame_index.html )

--
Best regards,
Daniel Rail
Senior System Engineer
ACCRA Group Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.filopto.com)