日期:2013-12-11  浏览次数:20496 次

利用 SQL Server Reporting Services 从使用程序生成用户敌对的报表 发布日期: 09/03/2004 | 更新日期: 09/03/2004
John C. Hancock  
http://www.microsoft.com/china/msdn/library/data/sqlserver/SQLServerReportServ.mspx
本文讨论:•
Reporting

设计和部署报表

使用 Reporting Services 的 Web 服务

保证报表的安全

本文使用下列技术:
SQL Server、ASP.NET、Visual Basic .NET

代码下载:
SQLServerReportingServices.exe(222KB)
本页内容Reporting Services 概述设计第一个报表部署和测试将报表添加到 Web 使用程序将报表嵌入到 Web 使用程序中保证报表的安全使用 Reporting Services Web 服务订阅报表接下来该怎样做?
灵活的报表功用是大多数业务使用程序的一个要求,这些报表功用在集成到 Web 使用程序中之后用途愈加广泛。利用 SQL Server® 2000 Reporting Services 的最新版本,您可以轻松地具有来自各种数据源的报表生成功用。在本文中,我将引见使用 Visual Studio® 和 Reporting Services 来编写报表,并演示如何将报表集成到 Web 使用程序中。


Reporting Services 是基于服务器的报表生成平台,该平台构建在 .NET Framework 上并与 SQL Server 2000 集成在一同,因此您可以使用一个扩展的基于 Web 服务的 API 将丰富的报表生成功用集成到使用程序中。虽然报表服务器使用 SQL Server 作为报表的储存库,但利用 OLE DB、ODBC 或 ADO.NET 提供程序的任何数据源都可以用来为报表提供数据,这就使得 Reporting Services 成为在各种企业环境中生成报表的极佳工具。


Reporting Services 是作为 SQL Server 2000 的一部分而授权的,因此如果您有已授权的 SQL Server 的副本,则可以在同一服务器上运转 Reporting Services 而无需领取额外的答应证费用。如果您决定在独立的、尚未经 SQL Server 授权的计算机(例如,Web 服务器)上运转 Reporting Services,您将需求购置额外的 SQL Server 答应证。


要开始使用 Reporting Services,您可以下载位于 SQL Server 2000 Reporting Services 的 120 天试用版软件,它还包括有关如何获得该产品的安装媒体的说明。在安装该产品时,请确保选中包括示例报表的选项,由于我要将这些报表集成到本文的 Web 使用程序中。


Reporting Services 概述

Reporting Services 报表设计使用新的 Visual Studio .NET 2003 报表设计器,在安装有 Visual Studio 的同一计算机上安装了 Reporting Services 后,该设计器就可以使用。设计器以新的基于 XML 报表定义言语 (RDL) 输出报表规划和数据访问的说明,而 RDL 文件会发布到报表服务器。如果您希望为用户提供创作功用,也可以使用第三方的报表设计器。


管理员可以使用基于 Web 的报表管理器来管理已发布的报表,并且可以执行一些任务,例如,保证某些用户组报表的安全或更改已部署报表的数据源连接字符串。用户也可以使用报表管理器来浏览和查看报表;但是很多公司倾向于使用 URL 请求或 Reporting Services Web 服务,将报表查看直接集成到它们现有的内部 Web 站点或使用程序中。




图 1 Reporting Services 体系结构




可以将报表参数化,这样用户可以在查看报表时从选择列表中进行挑选;它们还可以导出为多种格式,例如,Microsoft®Excel、PDF 和 XML。虽然实时报表提供最新的数据,也可以将报表缓存一段时间以提高功用并减少数据源上的负载。对于商务智能使用程序,报表可以访问 Analysis Services OLAP 多维数据集,而且 Reporting Services 甚至可以导入现有的 Microsoft Access 报表,虽然由于这两种技术间存在差异,它并不能支持所有的 Access 功用。有关 Reporting Services 体系结构的详细情况,请参见图 1。


前往页首设计第一个报表

虽然我引见的重点在于将报表集成到使用程序中而不是创作报表,但熟悉 Reporting Services 的最好办法就是立即着手创建一个新的报表项目。为此,请打开 Visual Studio 并使用 Report Project Wizard 创建一个新的项目,该导游位于 Business Intelligence Projects 部分。为您的项目指定一个名称,单击“OK”,然后将显示报表导游对话框。在您选择数据源的这一步骤中,单击“Edit”按钮,以便指定连接到您数据库服务器上的 AdventureWorks2000,单击“OK”,然后选中使其成为共享数据源的选项。


单击“Next”进入到“Design the Query”步骤,指定简单的 SQL 语句(例如,“SELECT * FROM Product”),然后单击“Next”。Reporting Services 支持显示一组固定列的标准表格式 (Tabular) 报表,也支持使用带有动态列的交叉表款式视图的矩阵式 (Matrix) 报表,因此为该报表选择 Tabular,然后单击“Next”。


将某些列(例如,ProductID 和 Name)拖到 Details 部分并单击“Next”。选择默认的 Bold 款式,单击“Next”,然后指定您的报表服务器的虚拟目录的 URL,例如,http://MyServer/ReportServer。如今,单击“Next”。最后一步,您可以为您的第一个报表指定名称,例如,Products Report;然后单击“Finish”。


该导游将会创建该项目,同时还创建一个可以由多个报表共享 AdventureWorks2000 数据源,以及一个在设计器中打开的有关 Products 数据的报表(请参见图 2)。默认情况下,显示使您可以修正报表设计的 Layout 选项卡。




图 2 Visual Studio 报表设计器




Data 选项卡用于指定报表的查询,包括设置参数以便在执行报表时提示用户提供值。单击“Preview”选项卡来测试报表显示给用户的方式。


如今,您可以将附加的报表添加到该项目,或者通过添加附加列、将数据分组、添加汇总、甚至是添加能够显示来自其他查询的数据的附加表来修正 Products 报表。与很多报表设计器不同,Reporting Services 使用带外设计,这使得它可以轻松地创建将各种源的数据集中在同一个位置的报表。


您刚刚创建的报表项目由当前驻留在您的开发计算机上的一组文件组成。为了将这些报表发布给用户,您需求将该项目部署到报表服务器。


前往页首部署和测试

在部署报表项目之前,需求指定将项目部署到哪一个服务器。如果您最后使用该导游创建了报表项目,那么您可能曾经指定了目标服务器。


要检查该设置或指定一个新服务器,请选择“Project | Properties”来显示 Project Properties 对话框。进行该设置使您可以指定项目的文件夹名和 Reporting Services Web 服务的 URL。在菜单上选择“Build | Deploy Solution”将构建报表项目,然后将其部署到服务器。


在部署报表项目后,您就可