Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get only data from reporting services without using their controls?

The architecture of my project is 3 tiers, basically :

(1)ASP.NET MVC --> (2) Reporting Service --> (3) Database using store procedures

In layer (2), I used Report Viewer control in order to support layer (1) displaying the data tables to the end-users. All of materials in this layer are under *.rdl files. So, The reporting service helps layer (1) with its own controls. In layer(1), just use:

 Microsoft.Reporting.WebForms.ReportViewer rvwReportViewer;
rvwReportViewer.ServerReport.SetParameters(reportParameter);

Then the data table will show within the reportParameter

Howerver, I want the layer (1) can get and manage RAW DATA by itselft but always make sure that it still connect to database(layer (3)) via Reporting Service (layer (2)). No longer need the support from report controls of layer(2) but must engage the architecture

In another words, the layer (2) requests and retrieves data from the layer (3), the layer(1) can do it also to get the data from layer(2) then parse that data and display by itselft.

Can anyone tell me any solution? Any help would be appreciated. Thank in advanced.

like image 791
Jackychan Avatar asked Nov 12 '22 15:11

Jackychan


1 Answers

I suppose this is possible, though I'm unclear as to why you'd want to keep SSRS in this situation? Don't suppose this is an XY-Problem? One thing's for sure: this is not a typical setup, so make sure the gain is worth the pain. (Isn't an ORM or data service a better choice for layer 2 for you?)

However, if you insist, what you want is sort of possible. Output from a report that's executed is always rendered in one format or another. One setup that may be suited for your situation is have your MVC code connect to the SSRS Web Service API and export the reports to a format that's suited for your processing task in layer 1: probably XML or CSV.

like image 58
Jeroen Avatar answered Nov 15 '22 06:11

Jeroen