是否可以创建自定义 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/