SQL Reporting Services的报表查看器的替代方法

Gra*_*amB 10 sql-server reportviewer reporting-services

我们正在寻求在MVC3中开发对现有ASP.NET应用程序的升级.我们当前的应用程序仅基于IE,升级将是浏览器中立,即它必须在IE8 +,firefox,chrome和safari中运行.

我们遇到的主要问题是我们有许多基于SQL Reporting Services 2008 R2的报告,我们使用Report Viewer 2010控件.

我们真的不想使用这个,因为:

  • 这是错误的(例如,我们不能使用SP1版本作为HTML有时会破坏我们的网站)
  • 非IE浏览器存在问题(例如URL错误上缺少IterationId)
  • 它基于Viewstate
  • 很难本地化控件的一些渲染输出

我真的很想用替代品替换它(即使它的基于视图状态,我们必须破解MVC的解决方案),但我找不到一个.是否有一个替代控件可以呈现Reporting Services报告?这是我们想要取代的观众,而不是RS.

Rob*_*sen 2

我们希望将 SSRS 与现有网站集成,但不想使用 SSRS UI(因为它基本上是它自己的网站),并且我们不想使用报表视图控件(尽管我们有一个 ASP.NET 网站,报表查看器控件的选项有限,无法使其执行您想要的操作)。对我们有用的解决方案是:

  1. 调用 SSRS Web 服务返回报告列表,并将值放入下拉列表中。

  2. 从下拉列表中读取报告路径并获取返回所选报告参数的 SSRS Web 服务。

  3. 根据 #2 中返回的内容构建输入控件。

  4. 用户提供输入值并提交表单。

  5. 该页面将值传递给 SSRS Web 服务,并根据用户请求返回 PDF、Excel、Word 文档。

这并不是那么困难(编码和测试花费了不到 40 小时)并且效果非常好。我们遇到的最大问题是当您从一个版本的 SSRS 迁移到另一个版本时支持不同版本的 SSRS Web 服务。

我猜如果您想将报告输出为 HTML 并将其输出到 UI,您也可以这样做。

显然,如果您希望所有用户编辑报表属性、创建订阅等,您将需要做额外的工作。