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

Problem running Server as a Service

edited December 2006 in Server
We've got an application built with Report Builder Server version 7 that
I'm trying to convert to a service.

I added our usual service framework but the service wouldn't start. I
added a whole bunch of logging code, but none of it was executing. It
didn't even reach the first line of the main routine in the project
file! I assumed from this that it was the initialization routine of one
or more of the imports that was causing the problem, so I moved the
service-related code to an initialization routine that ran before the
report builder units. With this change, the service would start.

I was able to connect to the server with a thin client, but when it
tried to get the parameters for a report, I got a "Class TraCodeModule
not found" error. This didn't happen when I ran the server as a regular
app. This seems to indicate another (?) problem with one of the
initialization routines. One or more class isn't being registered.

Has anyone seen anything like this before?

Thanks in advance for any advice.

Comments

  • edited December 2006

    - RB Server Edition includes everything required to host a server
    application within the context of an Windows Service.

    - the RBServer\Developers Guide\RBServer.pdf contains a tutorial on how to
    do this.

    Basic Steps:
    -------------

    1. Run RBServer\Windows Service\RBWinService.exe to install ReportBuilder
    Services.

    2. Build a Report Server application using TrsServer and one or more
    TrsReportVolumes. This will be standard Delphi windows application that you
    can run and debug in the usual manner.

    3. Add rsServerActiveX to the 'uses' clause of the report server application
    in (2) above. Build and Run. Running the project will enable it to register
    itself to be hosted by ReportBuilder Services.

    4. Double click the system tray icon for ReportBuilder Services (it is a
    small R icon). This will display the ReportBuilder Services Administrator
    dialog. From here you can start and stop the report server.

    With the above architecture you can run the report server project in the
    Delphi debugger as a standard application. And you can run the report server
    with the context of a windows service. If the report server crashes,
    ReportBuilder Services will try to restart it.








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



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2006

    The following tech tip addresses your other issue,about "Class
    TraCodeModule" not found.

    ------------------------------------------------------------
    Article: Registering Classes with the Server.
    ------------------------------------------------------------

    In order to minimize the overhead in reporting applications, ReportBuilder
    employs a unit level registration scheme (similar to component registration
    in Delphi.), whereby components and functionality can be added at the
    discretion of the developer. A report server application needs to include
    all of the classes required to execute the reports on the server.


    Unit Name Feature
    ---------- ---------------------------------------------------------------
    daDataModule DADE support. (DataModule related classes.)

    raCodMod RAP support (CodeModule related classes.)

    ppCTMain Crosstab support

    ppChrt TeeChart
    ppChrtDP Data-ware TeeChart

    myChkBox Checkbox components appear on the component palette when this unit
    is
    included.




    ReportBuilder also uses the unit registration scheme to control which
    database connectivity options are provided by the application. The following
    DADE plug-ins are provided with ReportBuilder (for more options see the
    friends | data | DADE Plug-ins section of our web site,
    www.digital-metaphors.com).


    Unit Name Feature
    ---------- ----------
    daDBBDE BDE support

    daADO ADO support

    daIBExpress Interbase Express support

    daDBExpress dbExpress support.

    daADS Advantage support.

    daDOA Oracle support via the Direct Oracle Access components.

    daIBO InterBase support via the InterBase Objects components.

    daDBISAM DBISAM support.


    --
    Tech Support mailto:support@digital-metaphors.com
    Digital Metaphors http://www.digital-metaphors.com

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

    Best regards,

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