multi database using session parameters
Hi,
I would like to be able to run one report server on one server machine for
muliple clients. Each client has their own database with their own report
template repository tables, therefore no database connection string is setup
by default. I have setup the client to pass a client identifier to the
server using a session param. Using the identifier session param i configure
the connection string details on the database connection component on my
server data module in the "BeforeBuildDirectory" event of the
rsReportExplorerVolume component. I can then view all the correct report
templates and folders in the clients report explorer but as soon as i try
run an actual report I get an exception from my the query connected to my
item pipline saying that my connection string is invalid. I've tried
assigning the connection string in every event of the rsReportExplorerVolume
component that has a session params as a parameter including
"BeforePublishReport" and nothing fixes this problem. According to call
stack the last report builder method run is
"TrsReportVolumeAdapterReportExplorer.InitializeCatalogItem". Is there
anyway i can read the session params and setup the database connection
component before "InitializeCatalogItem" is executed ie. in the datamodule
constructor?
Thanks
Jacques Millard
I would like to be able to run one report server on one server machine for
muliple clients. Each client has their own database with their own report
template repository tables, therefore no database connection string is setup
by default. I have setup the client to pass a client identifier to the
server using a session param. Using the identifier session param i configure
the connection string details on the database connection component on my
server data module in the "BeforeBuildDirectory" event of the
rsReportExplorerVolume component. I can then view all the correct report
templates and folders in the clients report explorer but as soon as i try
run an actual report I get an exception from my the query connected to my
item pipline saying that my connection string is invalid. I've tried
assigning the connection string in every event of the rsReportExplorerVolume
component that has a session params as a parameter including
"BeforePublishReport" and nothing fixes this problem. According to call
stack the last report builder method run is
"TrsReportVolumeAdapterReportExplorer.InitializeCatalogItem". Is there
anyway i can read the session params and setup the database connection
component before "InitializeCatalogItem" is executed ie. in the datamodule
constructor?
Thanks
Jacques Millard
This discussion has been closed.
Comments
- Configure a separate ReportVolume for each client
- Use the ReportVolume.OnAuthenticateDirectoryAccess to allow only the
relevant client to access the directory
- Use the ReportVolume.OnAuthenticateReportAccess to allow only the relevant
client to access any reports
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Firstly I don't see how this solution can work properly because if every
report request is run through the
"ReportVolume.OnAuthenticateDirectoryAccess" or
"ReportVolume.OnAuthenticateReportAccess" event then why can't I just
configure the database connection string in these events (which i have
tried)? Also we have about 50 client databases and if we had to create 50
ReportVolumes with 50 associated queries, db connections and data pipelines
objects for every report request we will be looking at some serious
overhead. Is this the only way we can achieve multi db support for our
report server ie. is there no method i can override or source code i can
hack where i can access the session params before
"TrsReportVolumeAdapterReportExplorer.InitializeCatalogItem" is called.
Thanks,
Jacques Millard
(currently using reportbuilder 10.05)
We are realy stuck on this one !
I work with Jac. We host 50 client db's and app servers and we want to have
a seperate reporting server which has all 50 live db's replicated to. It
will be completely inpracticle for us to set up 50 servers and/or 50 set
sets of datapipes etc. Is there nothing that you guys can suggest for Jac ?
We have an urgent need to progress this so any help would be greatly
appreciated.
Regards
Paul Newman
Whether any other approaches are possible, is being researched. Several
hours have been spent researching it thus far.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
We have the same problem, and is wondering if another approach has been
found?
Regards
Dirk Schuring