Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

ReportBuilder 7 with dbExpress causes interface to freeze on big queries

edited March 2007 in General
Hi,

We are using report builder 7 with dephi 2006. We recently moved from a
custom odbc dade plugin to the dbExpress plugin with an odbc driver (Dbx
Open ODBC).

The problem we are experiencing is that with our previous plug-in we used
SQLExecDirect for every request so we were able to use a query timeout to
prevent a query from runing to long. Since the move to the dbExpress we are
having an issue with simple queries that return a lot of data. The query
executes quickly but then all of the data is downloaded which freezes the
interface for a really long time.

I'm wondering if there is a way to set the report (or the designer) to
download the dataset in a second thread and still allow the user to
manipulate the interface and cancel the request if it takes to long? If not,
is there a way to set a maximum delay for this download after which it would
be cancelled and an event would be raised?

The idea is that when one of our user designs and tests a report, if the
report takes to long he should be warned instead of having to wait for the
transfer to finish.

Thank you in advance for your help.

Comments

  • edited March 2007

    - one option would to be to look for a driver that supports the timeout
    feature that you were using before. You do not specify what database product
    you are using. ((The ADO components support TimeOut I'm do not know why the
    dbExpress components do not, but I am assuming to keep things simple, they
    left that to the drivers).

    - ReportBuilder includes built-in support for ask at runtime serch
    criteria. Adding search criteria to queries to limit the data is always a
    good idea - not sure if you can enforce that somehow.

    - ReportBuilder includes built-in support for generating a report in a
    background, but does not contain any support for threaded data access. You
    could try implementing that in the DADE plug-in for dbExpress,
    daDBEXpress.pas, probably not a simple thing to do though.


    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.