如何不使用报表控件从报表服务中获取数据?

Jac*_*han 5 c# asp.net reportviewer report reporting-services

我的项目的架构是3层,基本上是:

(1)ASP.NET MVC->(2)Reporting Service->(3)使用存储过程的数据库

在第(2)层中,我使用了Report Viewer控件,以支持第(1)层向最终用户显示数据表。该层中的所有材料都位于* .rdl文件下。因此,报告服务通过其自己的控件帮助第(1)层。在layer(1)中,只需使用:

 Microsoft.Reporting.WebForms.ReportViewer rvwReportViewer;
rvwReportViewer.ServerReport.SetParameters(reportParameter);
Run Code Online (Sandbox Code Playgroud)

然后数据表将显示在reportParameter中

但是,我希望第(1)层本身可以获取和管理RAW DATA,但始终要确保它仍然通过Reporting Service(第(2)层)连接到数据库(第(3)层)。不再需要第(2)层的报表控件的支持,而必须使用该体系结构

换句话说,第(2)层从第(3)层请求并检索数据,第(1)层也可以从第(2)层获取数据,然后解析该数据并自行显示。

谁能告诉我任何解决方案?任何帮助,将不胜感激。在先进的感谢。

Jer*_*oen 1

我想这是可能的,尽管我不清楚为什么你想在这种情况下保留 SSRS?难道这不是一个XY 问题吗?有一点是肯定的:这不是典型的设置,因此请确保收获是值得的。(对于您来说,ORM 或数据服务不是第 2 层更好的选择吗?)

然而,如果你坚持,你想要的东西是可能的。执行的报表的输出始终以一种或另一种格式呈现。一种可能适合您情况的设置是让您的 MVC 代码连接到SSRS Web 服务 API,并将报告导出为适合您在第 1 层处理任务的格式:可能是 XML 或 CSV。