是否可以创建自定义 Web 前端来运行 SSRS 报告?

我们有一个现有的跨浏览器 Web 前端,用于收集报告输入(对于非 SSRS 平台),我们希望看到继续使用 SSRS。它包括已经在内部开发的特定于域的 UI 控件,并且没有什么能与 SSRS 的 OOTB 相提并论。

我们不需要动态呈现类型感知控件——尽管我认为 RDL 可以帮助我们告诉我们报告采用哪些参数(及其类型)——但我们确实需要的不仅仅是 Report Manager 给我们的。

本质上,我们希望自定义/替换由 Report Manager 生成的输入收集 UI。我们还需要一些品牌。完全废弃报告管理器(我的意思是外部)并通过我们自己的 ASP.NET 应用程序直接与 SSRS Web 服务接口(interface)会更容易吗?

我是报告领域的新手,我找不到任何关于此的信息。我们正在使用 SQL Server 2005 报告服务。

最佳答案

对的,这是可能的。 2 多年前,当我们对 OOTB 的参数选择感到不满时,我们实现了与此类似的解决方案。

本质上,我们有一个用户与之交互的自定义​​ ASP.NET 应用程序。当第一页加载时,它会显示该用户可用的报告列表(从 ASP.NET 应用程序通过 Web 服务和身份模拟与 SSRS 进行通信,以便对列表进行安全调整)。如果自定义 ASP.NET 应用与报表服务器位于不同的服务器上,则需要在此处使用 Kerberos。

用户选择报告后,将显示参数选择屏幕(仍在自定义 ASP.NET 应用程序中)。当他们选择参数并单击“生成报告”时,一些 JavaScript 会将每个参数的输入标签动态添加到 HTML 表单(对用户隐藏),然后对 SSRS Web 服务器执行 HTTP POST。

然后我们使用 OOTB 报告查看器来显示报告,但它是在框架中托管的,因此屏幕顶部允许用户包含在自定义 Web 应用程序中。这使他们能够快速返回并更改参数。

我们采用这种方法是因为我们有一个全局组织,但我们的应用程序是集中托管的 - 我们希望所有用户的性能都尽可能好。我们发现报告查看器在性能方面非常好,但是来自 OOTB 的 OOTB 参数选择对于具有高延迟的连接来说很糟糕 - 大量回发和传输的流量过多。

另一个技巧 - 我们将参数“隐藏”在报告中,这样参数就不会显示在报告查看器中。

编辑:我们最初是在 SSRS 2005 中做到这一点的,最近升级到 SSRS 2008 时麻烦最少。

关于asp.net - 具有自定义 Web UI 的 SSRS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1424925/

10-13 05:15