【问题标题】:ssrs report server behind firewall防火墙后的 ssrs 报告服务器
【发布时间】:2013-01-29 20:26:57
【问题描述】:

我们的内部网络上有一个 SSRS 报告服务器 2008(不是 R2),它包含我们希望 Internet 上的用户能够运行的报告(和数据)。我们创建了一个 vb.net Web 应用程序,用户将登录并从中运行报告。该应用程序在我们的 DMZ 中运行,并通过一个开放端口连接到 SQL Server 数据库(与 SSRS 在同一台服务器上运行)。

我怀疑我们必须使用 SSRS Web 服务来访问报告,因为 url 访问需要向外部打开 SQL 报告服务器(我们不想这样做)。对吗?

我在 Web 应用程序中创建了一个页面,该页面可以将 SSRS 报告呈现到文件中,但我想在网页上向用户显示该报告(并且仍然提供保存报告的功能)。我需要做什么?我可以在 Report Viewer 或其他控件中显示 Render 命令的结果吗?

指向示例的指针会很棒。

谢谢

【问题讨论】:

    标签: reporting-services ssrs-2008


    【解决方案1】:

    您正在寻找ReportViewer Controls,特别是Web 版本(还有一个WinForms 版本):

    • 如果您将其合并到您的 Web 应用程序中,您将获得一个可以放置在任何页面上的控件;
    • 该控件可以从 Web 服务器连接到您的 SQL 后端,因此您不必将您的 SQL 后端暴露给其他任何人;
    • 默认情况下,控件在浏览器中呈现(使用 html 呈现器),为用户提供良好的预览。
    • 该控件带有一个漂亮的toolbar,允许导航、搜索、打印以及导出(即保存)为各种格式。

    查看the download link for Microsoft Report Viewer 2010 Redistributable Package,其中包含 Web 和 WinForms 控件。

    PS。直接向世界开放 SSRS Web 服务并不是您通常想要做的事情。 Web 服务非常适合与您自己的应用程序进行安全通信,并为您提供一些更细粒度的控制(正如您所指出的,通过创建一个页面来导出/呈现报告)。但是,如果要为网站提供报告,我建议使用 ReportViewer。

    【讨论】:

    • 我使用 url 访问来在 reportViewer 控件中显示报表,但我认为它需要访问报表服务器才能访问报表定义。您是否建议在外部服务器上打开报告定义文件?它会知道从哪里获取数据而不访问报表服务器?
    • 这取决于Processing Mode:Local = web 服务器让 ReportViewer 控件自己处理所有内容,Remote = reportviewer 将所有内容中继到报表服务器。另请参阅 SSRS Credentials MSDN pageServerReport Class MSDN page 了解更多信息。
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2011-11-19
    • 2013-07-05
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多