When I attempted to use SQL Server Reporting Services (SSRS) in a recent project. I discovered some serious pain points when attempting to use SSRS within an Web-API driven AngularJS SPA :
- It was difficult to integrate the report Viewer component with angular
- The Report viewer felt clunky and out of place
- The dependence on the Report Viewer limited the portability of WebAPI
- The version of SSRS I worked with was not mobile device friendly
How Do You Solve a Problem Like integrating SSRS, Web-API and AngularJS?
Upon sitting down and looking at the problem, I boiled it all down to a simple question:
What if I separated the report generated by SSRS form the report viewer component?
If the API could return the report in a neutral file format for example pdf, I would be able to bypass most of the current pain I was feeling using SSRS.
In the following series of articles, I will outline how to make SQL Server Reporting Services play nicely with WebAPI and AngularJS.
Step One : Convert the RDL To RDLC
By converting the report from an RDL to an RDLC, we will perform the processing for the report within the Web-API. I found during my exploration that this is the Happy path for integrating SSRS and Web-API.
- Create a copy of the report RDL
- Rename the report file extension from RDL to RLDC
- Open in notepad++
The following steps are not necessary but will reduce the amount of tedious work required.
- Install the add-on xpatherizernpp for notpad https://code.google.com/p/xpatherizernpp/
- Open Xpath window and perform a search for //DataSets
Feel free to tweet me a comments, feedback or questions to @ChrisBriggsy.