将 ReportViewer 配置为进行远程处理

ReportViewer 控件可配置为使用 SQL Server Reporting Services 报表服务器的处理功能。报表服务器用于处理数据并以输出格式呈现报表。然后 ReportViewer 控件会在屏幕上显示呈现的输出。

若要使用报表服务器,您必须具有对 SQL Server 2008 或更高版本的 Reporting Services 报表服务器的访问权限。可以通过打开浏览器窗口并在 URL 地址中键入报表服务器 URL 和报表路径来验证您是否具有对报表的访问权限。配置到报表服务器的连接时,请确保使用的帐户具有查看报表的权限。

如何配置 ReportViewer 以进行远程处理

若要配置 ReportViewer 控件以进行远程处理,请指定要与该控件一起使用的服务器报表。若要选择服务器报表,请执行下列步骤:

  1. 将工具箱的“报表”部分的**“ReportViewer”**控件添加到项目中的窗体或网页。

  2. 在**“ReportViewer 任务”智能标记面板的“选择报表”中,选择“服务器报表”**。

  3. 在**“报表服务器”**文本框中,键入报表服务器 URL。默认 URL 语法为 https://localhost/reportserver。安装时使用的实际 URL 可能会有所不同,具体取决于报表服务器虚拟目录设置的配置方式。

  4. 在**“报表路径”**文本框中,键入已发布报表的完全限定路径。引用处于本机模式的报表服务器上的报表时,报表路径以正斜杠 (/) 开头;引用处于 SharePoint 集成模式的报表服务器上的报表时,报表路径是完全限定的 URL。例如:

    本机模式:/Adventureworks 2008 Sample Reports/Company Sales 2008

    SharePoint 集成模式:http://MyServer/sites/MySite/MyLibrary/Adventureworks 2008 Sample Reports/Company Sales 2008.rdl

  5. 生成或部署应用程序以验证报表是否正确显示在应用程序中。

了解服务器报表的特征

下表描述了进行远程处理的服务器报表的特征。

报表处理

服务器报表在 SQL Server 2008 或更高版本的 Reporting Services 报表服务器上运行。服务器报表是报表定义 (.rdl) 文件,它们是在 Business Intelligence Development Studio 或报表生成器中创建的。

数据处理

服务器报表使用报表服务器的数据处理扩展插件连接并处理结果集。默认数据处理扩展插件是为 SQL Server、Analysis Services、SQL Server Integration Services、Oracle、SAP NetWeaver® Business Intelligence、XML、ODBC 和 OLE DB 数据源提供的。您可以创建或使用自定义数据处理扩展插件来支持其他类型的数据。

与客户端报表不同,服务器报表的报表定义中包含数据源连接信息以及一个或多个查询。在远程处理模式下,数据处理和报表处理都由报表服务器执行。

参数化

在处理服务器报表时,ReportViewer 控件可以在报表的顶部显示参数提示区域,以便用户可以键入或选择要在查询基础数据源时使用的参数值。在处理本地报表时,ReportViewer 不会显示参数提示区域,这是因为它不执行任何数据检索,因此您必须手动提示用户并基于用户输入直接在应用程序中执行数据处理。有关本地报表的更多信息,请参见将 ReportViewer 配置为进行本地处理

连接到外部服务器

服务器报表使用的数据源通常会从其他服务器上的外部数据源中检索数据。当在应用程序中运行服务器报表时,请确保您了解报表服务器连接至报表外部数据源以及从中检索数据的方式。例如,如果报表使用 Windows 集成安全性,则您必须设置应用程序或网络才能避免 NTLM“双跃点”问题,例如为网络启用 Kerberos 身份验证。有关更多信息,请参见 Authentication Types in Reporting ServicesUnderstanding Kerberos Double Hop(了解 Kerberos 双跃点)。

请注意,ReportViewer 控件不提供提示凭据页。如果应用程序连接到使用基于窗体的身份验证的报表服务器,则应用程序必须提供登录页。

管理报表

服务器报表是在报表服务器中进行管理的。报表服务器管理员可以修改提供访问报表权限的角色分配,重新配置数据源连接,以及更新、移动、重命名或删除报表。所有这些更改都会影响或阻止报表在应用程序中运行。在应用程序中使用服务器报表时,请确保您了解部署应用程序之后应如何管理报表。

有关 SQL Server Reporting Services 的报表设计、数据检索、部署和安全设置的更多信息,请参见 msdn.microsoft.com 上的 SQL Server Books Online(SQL Server 联机丛书)。

何时使用远程处理

利用基于服务器的报告功能,可以集中存储和管理报表、设置策略和安全访问报表及文件夹、控制处理和分发报表的方式,以及标准化在业务中使用报表的方式。Reporting Services 可以以单服务器、分布式和群集配置的方式进行安装。如果报表具有下列特征,请考虑使用远程处理:

  • 报表将被许多用户访问。

  • 报表具有非常复杂的查询或包含大量数据。

  • 报表已发布在报表服务器上,并且希望将其包含在所创建和部署的应用程序中。

远程处理需要访问 SQL Server 的许可副本,从而为应用程序提供一组丰富的功能,如订阅、缓存、安全性和更多呈现格式。有关 SQL Server Reporting Services 中的远程处理功能的更多信息,请参见 SQL Server 联机丛书中的 Reporting Services and ReportViewer Controls in Visual Studio

请参见

概念

将 RDLC 文件转换为 RDL 文件

添加和配置 ReportViewer 控件

将 ReportViewer 配置为进行本地处理

部署报表和 ReportViewer 控件