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

Tab "Data" - Adding a Query - Error: DriverName missing

edited May 2004 in DADE
Hi!

In the application I'm currently working on an error message (see below)
pops up claiming that the DriverName is missing when adding queries to a
report. The parameter DriverName IS specified in the main DBExpress
TSQLConnection and the TSQLClientDataSet used for the report pipeline.

Details:
When opening the report builder a DBExpress TSQLClientDataSet is activated
which is directly connected to the DBExpress connection and not via a
TSQLConnection component. A TSQLConnection component is used in the main
program, but deactivated prior to opening the TSQLClientDataSet.
The report builder starts correctly and loads the report template from the
database. After switching to the "Data" tab and selecting "New..." from the
menu "File" the dialog where one can select whether to use the wizard or a
standard template is displayed correctly, but after the selection of a item
the dialog closes and the error message pops up.

Error message: "Attribute DriverName missing."

System Details:
Windows XP SP1
Interbase 6.5
Delphi 6 RTL Update 2
Report Builder 7.03 Enterprise
Pragnaan Export Tools 2.03
TeeChart 6.01 for RTL 2

Comments

  • edited May 2004

    You should place a TSQLConnection component on the form/datamodule that
    contains the report and designer. Configure the DataSettings.DatabaseName to
    reference the connection component.

    The Designer.DataSettings are applied to new DataViews that you create. The
    DataSettings are saved as part of the DataView definition. When the report
    loads the dataviews will try to reconnect using the TSQLConnection component
    with the databasename value that was assigned when the dataview was created.


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


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited May 2004
    A TSQLConnection is existing in a datamodule, but i cannot reference it.
    During designtime the reference is set, but it vanishes in runtime, so I
    cannot choose it in the "Data Settings" dialog. What could be the reason for
    that?

  • edited May 2004

    Try modifying your library path from RBuilder\Lib to RBuidler\Source and
    trace the code in daDB.pas for TdaSession.GetDatabaseForName

    The logic is coded to search thru the Screen.Forms and Screen.DataModules.
    Therefore, the DataModule would need to be instantiated.

    If the application is a mult-threaded app, then the TSQLConnection needs to
    reside on the same form/datamodule as the report designer.



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


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited May 2004
    I can give you some more information:
    - the datamodule is instantiated right on application startup, so this
    should not cause any trouble
    - the application is not multi-threaded

    About the library path issue: please tell me where exactly to change those
    paths, since I don't want to mess up my configuration (bad experience).

    Best regards

    Hendrik

  • edited May 2004
    Are there any problems known when using ReportBuilder 7.03 with DBExpress
    components?

    Regards

    Hendrik
  • edited May 2004

    1. No. For an example, see RBuilder\Demos\EndUser
    Databases\Interbase\dbExpress. It does not sound like the issue you are
    encountering is specific to dbExpress, sounds more like a general
    configuration issue with where to place the Connection component. We
    recommend placing it on the same form/datamodule that contains the Designer,
    all of our demos are configured in this manner.

    2. To change the Delphi library path select Tools | Environment Options from
    the Delphi menu. Then select the Library tab. Press the ... button next to
    the Libarary path edit box. Add an entery for $(DELPHI)\RBuilder\Source and
    move the entry just above the entry for $(DELPHI)\RBuilder\Lib


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



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited June 2004
    The whole story caused too much trouble, so I simply placed the DB
    components on the same form as the RB components. This did the trick.

    Best regards

    Hendrik
This discussion has been closed.