报表处理器
报表处理器是用于处理报表和报表模型的 Reporting Services 组件。
报表处理
在请求已发布报表以及请求临时钻取报表(这类报表是在使用 SQL Server 2005 Reporting Services 中模型驱动的报表功能时自动生成的)时,即会启动报表处理。
如果报表处理请求是针对已发布报表的,报表处理器将从报表服务器数据库获取相应的报表定义,初始化表达式中的参数和变量,再通过其他初级处理操作准备报表以便接收数据。然后,数据处理扩展插件将连接到数据源并检索数据。报表处理器将报表数据与报表定义中的报表布局相结合。逐行处理每一部分的数据。这些部分包括报表表头和表尾、组头和组尾以及详细信息。聚合函数和聚合表达式也在这一阶段进行处理。在呈现阶段中,呈现扩展插件将对报表进行分页,并处理在执行阶段无法处理的表达式。然后,报表将以适当的设备特定格式呈现。
钻取报表的报表处理与此相似,只不过报表可以通过模型自动生成,而不是通过报表定义生成。数据处理通过模型启动后,即可检索所需的数据。
报表处理器可响应以下请求:
- 请求按需运行的报表。用户打开配置为按需运行的报表时,将在报表服务器上触发报表处理。报表处理器将检索报表定义,然后将数据请求发送给数据处理扩展插件,之后将报表定义与数据相结合,再将其发送到呈现扩展插件,最后返回呈现的报表。
- 请求缓存的报表或快照。用户打开配置为从缓存副本或报表快照运行的报表时,将触发报表处理。如果报表已缓存,报表处理器将检索到该报表,并将其定向到用户的浏览器。
- 来自计划和传递处理器的请求。报表处理器将检索报表定义,之后将数据请求发送到数据处理扩展插件,再将报表定义与数据相结合,然后将编译后的报表存储在报表服务器数据库中。
模型处理
报表可以将报表模型用作基础数据源的接口。模型指定了元数据,并包括对定义数据连接的共享数据源的引用。一旦执行以下用户操作,报表服务器上就会发生模型处理:
- 在报表生成器中浏览模型。
- 在报表生成器中生成报表时,查询模型数据。
- 在报表服务器上导航钻取报表。