Problem running Server as a Service
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.
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.
This discussion has been closed.
Comments
- 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
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