Difference between revisions of "SSRS Reporting"
(Created page with "[https://docs.microsoft.com/en-us/sql/reporting-services/create-deploy-and-manage-mobile-and-paginated-reports SSRS], short for '''SQL Server Reporting Services''', allow the...") |
(No difference)
|
Revision as of 15:01, 21 January 2021
SSRS, short for SQL Server Reporting Services, allow the creation of completely customizable data reports using SQL data. Templates are designed using the Report Designer, which will then be filled up dynamically by the data from the SQL Server. For Ubik, this technology allows the creation of customer-specific reports from data of the Ubik system.
Contents
System Architecture
To get SSRS running, a Windows server is required, and access to the data source (SQL Server) is necessary. The SSRS service needs to be accessible from the UBIK Web Server and/or UBIK Enterprise Service, depending on the customizing. The same server hosting the UBIK Web Service and/or the Ubik Enterprise Server (if hosted on an extra server) can be used for hosting SSRS as well.
Report Templates
Template stuff, will be done with images
Report Creation from UBIK Customizing
There's a Report Generation plugin available for Ubik: UBIK.Interface.Module.SSRS. Two ways of generating a report are exposed, one using the Report class and one using the ServerReportRender class.
Report Class
The Report
class creates a report via the ancient SSRS ReportExecution2005 SOAP endpoint.
While this method works fine for most use cases, for very large reports (> ~1.5 GB in our experience), the report service will stop with an error. If such a case is encountered, the other service documented below should be used instead.
ServerReportRenderer Class
The ServerReportRenderer
uses a different and more modern approach to render the data: It calls the URL of the web viewer and tells it what to do via the parameters, just like the user would by clicking buttons in the toolbar.
This methodology makes it really easy to implement, as the rendering results are the same if executed manually in the web viewer.