菜鸟也能煮酒论英雄
他山之石,可以攻玉。善于从他人处汲取营养的人,才能不断地取长补短,使自己走向成功
posts - 20,comments - 59,trackbacks - 2

 

理解SQL Server 2005 Reporting Service

Reporting Services 简介:

SQL Server 2005 Reporting Services 是基于服务器的报表平台,可以用来创建和管理包含关系数据源和多维数据源中的数据的表格、矩阵、图形和自由格式的报表。可以通过基于万维网的连接来查看和管理所创建的报表。Reporting Services 包括下列核心组件:

·             一整套工具,可以用来创建、管理和查看报表。

·             一个报表服务器组件,用于承载和处理各种格式的报表。输出格式包括 HTMLPDFTIFFExcelCSV 等。

·             一个 API,使开发人员可以在自定义应用程序中集成或扩展数据和报表处理,或者创建自定义工具来生成和管理报表。

生成的报表可以基于 SQL ServerAnalysis ServicesOracle 或任何 Microsoft .NET 数据访问接口(如 ODBC OLE DB)提供的关系数据或多维数据。可以创建表格、矩阵和自由格式的报表。还可以创建使用预定义模型和数据源的即席报表。

Reporting Services 中生成的报表包括交互功能和基于 Web 的功能,在外观和功能上超越了传统的报表。例如,深化报表允许在数据层间进行导航;参数化报表支持在运行时对内容进行筛选;自由格式的报表支持以垂直、嵌套和并排方式安排内容布局,支持指向基于 Web 的内容或资源的链接,支持通过远程或本地 Web 连接安全地集中访问报表。

尽管 Reporting Services 本身已与 Microsoft 的其他技术进行了集成,但是开发人员和第三方供应商可以生成相应的组件,以支持其他报表输出格式、传递格式、身份验证模式和数据源类型。在模块设计中特意创建了开发和运行时体系架构,以支持可能采用的第三方扩展和集成。

基于服务器的报表功能为实现以下任务提供了方法:集中存储和管理报表、

 

设置策略和确保对报表及文件夹的安全访问、控制处理和分发报表的方式,以及将

在业务中使用报表的方式标准化。Reporting Services 是可伸缩的。您可以在单个服

 

务器、分布式服务器和 Web 场配置中安装报表服务器。

Reporting Services 具有模块化的体系结构。此平台基于一个报表服务器引

 

擎包含用于获取和处理数据的处理器和服务。处理任务分发给可以扩展或集成到自

 

定义解决方案中的多个组件。检索数据并将检索的数据从数据处理任务中分离后,

 

即开始进行显示处理。此功能允许多个用户采用为不同设备设计的格式同时查看同

 

一报表,或快速更改报表的查看格式。只需单击便可将 HTML 转换成 PDF

 

Microsoft Excel XML

 

Reporting Services 的功能:

SQL Server Reporting Services 提供有了可在 Microsoft Internet

 

息服务(IIS) 下运行的中间层服务器,通过该服务器可以在现有 Web 服务器基础

 

结构上建立报告环境。您生成的报表可以从现有的数据服务器中获取任何数据源类

 

型的数据,条件是数据源类型必须具有 Microsoft .NET Framework 托管的数据

 

访问接口、OLE DB 访问接口或 ODBC 数据源。您可以生成范围广泛的报表,将

 

基于 Web 的功能和传统报表功能相结合。可以创建交互式报表、表格报表或自由

 

格式报表,以根据计划的时间间隔检索数据或在用户打开报表时按需检索数据。矩

 

阵报表可以汇总数据以便进行高级审核,同时在明细报表中提供详细的支持信息。

 

您可以使用参数化报表基于运行时提供的值来筛选数据。报表可以按桌面格式或面

 

Web 的格式呈现。您可以从许多查看格式中进行选择,以数据操作或打印的首

 

选格式按需呈现报表。Reporting Services 是基于服务器的,因此通过它可以集

 

中存储和管理报表,安全地访问报表和文件夹,控制报表的处理和分发方式,并使

 

报表在企业内的使用方式标准化。Reporting Services 可以通过配置以提高可用

 

性。您可以在单服务器、分布式配置和群集配置上安装报表服务器。

 

报表功能

关系、多维和 XML 数据源。您可以创建使用 SQL Server Analysis Services 中的关系和多维数据的报表。还可以使用 .NET Framework 数据访问接口从 Oracle 和其他数据库获取数据。同时,报表功能还支持 ODBC OLE DB 访问接口。您可以使用 XML 数据处理扩展插件从任何 XML 数据源检索数据。

表格、矩阵、图表和自由格式的报表布局。表格报表适用于基于列的数据,矩阵报表适用于汇总数据,图表报表适用于图形数据,而自由格式报表适用于所有其他情况。自由格式报表的布局是基于数据区域的,数据区域将各个控件和字段封装在一个容器中,您可以对该容器进行移动、嵌套操作或以并排布局的方式进行排列。您可以将表格、矩阵和图表格式的信息组合在单个报表中。

即席报表。您可以使用称为报表生成器的 ClickOnce 应用程序,以创建报表并将其直接保存到报表服务器。利用从报表服务器下载的一个瘦客户端,即可支持即席生成报表的功能。

钻取报表和交互性。通过添加指向相关报表以及指向提供详细支持信息的报表的链接,可以添加交互功能。您可以添加 Microsoft Visual Basic 脚本表达式。

参数化报表。您可以添加参数,以修改查询或筛选数据集。动态参数在运行时根据用户的选择获取值(选择一个参数后将生成另一个参数的值列表)。

显示格式。在打开报表时或打开报表后可以选择显示格式。您可以选择面向 Web 的格式、面向页的格式以及桌面应用程序格式。这些格式包括 HTMLMHTMLPDFXMLCSVTIFF Excel

自定义控件或报表项。您可以嵌入由您创建或从第三方供应商购买的自定义控件或报表项。自定义控件需要使用自定义报表处理扩展插件。

导航。您可以添加书签和文档结构图,以便在大型报表中提供导航选项。

聚合功能。您可以使用控件和表达式来聚合并汇总数据。聚合功能包括求和,计算平均值、最小值和最大值,进行计数,以及计算运行总计等。

图形元素。您可以嵌入或引用图像以及包含外部内容的其他资源。

报表和模型设计

报表设计器。在 Business Intelligence Development Studio 内所承载的全功能报表创作应用程序中创建报表。使用报表设计器,可以处理数据、定义布局、预览报表以及将报表发布到测试或生产服务器。报表设计器包括查询生成器、表达式编辑器和一些向导,以便您可以按照逐步说明创建报表。报表设计器还为了解查询语言和表达式语言的专业报表设计人员提供了一些高级报表功能。

模型设计器。创建可支持在 Reporting Services 中即席生成报表的模型。您可以基于现有架构或视图自动生成模型,再进行修改,然后将其发布到报表服务器。

报表生成器。使用模板和预先组织的数据创建即席报表,并将报表直接保存到报表服务器。您可以像处理任何其他报表一样,访问、分发和管理在报表生成器中创建的报表。

部署和管理

Reporting Services 配置。通过使用图形化用户界面来配置服务帐户、虚拟目录、报表服务器数据库、加密密钥和 Web 场部署,从而部署和维护现有报表服务器。

报表管理器。通过设置数据源、报表、文件夹、资源和报表模型的属性,配置基于角色的安全性,并管理报表服务器内容。您可以配置报表执行和报表历史记录,设置处理时间限制,监视和取消已挂起或正在处理的报表,以及在独立于所关联报表的情况下创建和管理数据源连接及计划。

SQL Server Management StudioSQL Server 配置管理器、外围应用配置器工具的集成。报表服务器管理员可以使用 SQL Server 2005 中提供的工具来管理 Reporting Services 系统。您可以在 Management Studio 中录制脚本,以便对其他报表服务器重播例行维护任务。

命令行实用工具。命令行实用工具支持报表服务器配置、密钥管理和脚本操作。

基于角色的安全性。基于角色的安全性用于控制对文件夹、报表和资源的访问。在整个文件夹结构中,安全性设置遵循继承规则。您可以更改任何分支的安全性,将用户访问权重新定义为项级别。

报表的访问和传递功能

通过 Web 连接进行按需访问。使用浏览器可以在文件夹层次结构中导航,以查找和处理报表及其他项。您可以从 Web 浏览器的收藏夹列表引用报表,或从 Web 门户链接报表。

Sharepoint Web 部件Reporting Services 提供两个 Web 部件,用于报表查看和报表服务器文件夹导航。您可以将 Web 部件嵌入 Microsoft SharePoint Portal 站点,以便与报表服务器部署集成。

我的报表我的订阅。在报表管理器中,您可以在个人工作区中存储和管理报表及订阅。

订阅电子邮件或文件共享传递。通过标准订阅自动执行报表传递,并设置报表显示首选项。例如,喜欢使用 Microsoft Excel 查看报表的用户,可以在订阅中指定使用这种格式。将呈现的报表传递到电子邮件收件箱。设置相应的传递选项,控制是将报表以链接形式还是附件形式传递。将已呈现的报表传递到共享文件夹。设置相应的传递选项,控制是覆盖报表还是将其添加到现有文件夹中。

数据驱动订阅。通过数据驱动订阅自动实现报表分发,它将在运行时从外部数据源生成收件人列表和传递说明。使用查询和列映射信息为大量用户自定义报表输出。

可编程性和扩展性

报表定义语言 (RDL)RDL 使用 XML 语法来描述报表的所有可能元素,而该语法由 XML 架构验证。各报表的报表定义都是基于 RDL 的,并包含用于在运行时呈现设计方案的说明。RDL 是可扩展的。您可以添加对现有 RDL 架构中没有的元素或功能的支持,再生成自定义的工具和报表呈现扩展插件,以处理所创建的功能。

SOAP API。使用报表服务器 Web 服务方法以编程方式访问报表服务器和报表服务器 Web 服务。

URL 访问。您可以通过参数化 URL 字符串访问报表服务器项。报表服务器中存储的所有报表和项都可以通过报表服务器命名空间进行寻址。

WMI 提供程序Reporting Services 包括 Windows Management Instrumentation (WMI) 提供程序,可以用来管理报表服务器 Windows 服务。

可扩展的传递、数据处理、呈现、安全性和报表处理。您可以创建自定义传递扩展插件,以便将报表传送到文件共享位置、内部存档存储区或内部应用程序中。可以扩展数据处理以查询、转换数据,或转换新数据源类型的数据。可以创建自定义呈现扩展插件,以便按本产品未提供的应用程序格式或面向 Web 的格式来显示报表。还可以生成或集成能够替代 Windows 身份验证模式的安全扩展插件。

 

 

 

 

 

设计SQL Server Reporting Service:

报表文件分别包含(.rdl 报表文件(.rdlc客户端报表定义文件).

创建.rdl报表文件解决方案:

1VS2005\FileàNewàProject弹出如下Dialog选择商业智能(Business Intelligence Projects)à(Report Server Project)。也可以选服表项目向导(Report Server Project WizardàOK.

 

2添加共享数据源,后缀名.rds

弹出下面的 Dialog选择数据源的类型和相应的 链接字符串,给数据源命名,然后点击OK.

共享数据源添加完成。

3、添加报表文件

Show Dialog Report Wizard”选择上面添加 DataSourceà拼写Query String(还可以执行拼写的Query String是否正确)。-à选择报表的 类型à选择要显示的字段à完成。

再选择报表文件进行编辑。

也可以用Web Service部署报表:

 

SQL SERVER 2005还提供一个 管理报表的站点(如下):

 

 

将刚刚创建的报表通过SQL Server Management Studio放到管理站点的目录下就如上面所示了,然后点击相应的报表文件,就可以运行了。

 

 

主要的还是将报表呈现在web上。

.rdlc可以直接通过服务器控件(rsweb:ReportViewer)显示到asp.net网页上通过

 

Choose Report属性绑定相应的报表文件。

然而.rdl.rdlc是可以转换的:

数据集和数据源术语在 Visual Studio 2005 SQL Server 2005 中的含意不同。在 Visual Studio 中,数据集是数据表的集合,在逻辑上等同于检索数据的查询或命令。在 Reporting Services 中,数据集包括下列部分:

数据源信息,包括数据源类型和连接字符串。数据源类型指定在报表服务器上部署的数据处理扩展插件。

凭据信息,指定如何获取数据源连接的凭据。

用来检索数据的查询或命令信息。

.rdlc 文件配置为在 ReportViewer 控件中运行时,该文件的数据集对象、绑定源对象和表对象将直观地显示在设计器视图的底部。下图说明了这些对象如何显示在 Windows 窗体中(同一数据绑定对象在网页中的显示方式不同):

 

如果选择 .rdlc 文件用于 ReportViewer 控件,而数据对象未出现在项目中,则您看到的很可能是重命名的 .rdl 文件,需要对该文件执行其他转换步骤才能使 .rdlc 文件正常运行。

RDL RDLC 转换

.rdl 文件转换为 .rdlc 格式时,必须用应用程序中提供的数据结构手动替换报表定义中的数据源和查询信息。

1. 使用 .rdlc 文件扩展名重命名 .rdl 文件。

2.  Visual Studio 2005 中,打开将要包含此报表的解决方案或项目。

3. 创建或添加用来定义要用于项目或解决方案的数据的数据集。有关详细信息,请参阅 ReportViewer 报表创建数据源

4. 项目菜单上,单击添加现有项,然后选择第一步中创建的 .rdlc 文件。

5. 在此项目中,打开用来包含此报表的窗体或网页。

6. 从工具箱的数据组中,将 ReportViewer 控件拖到该窗体或网页上。

7. “ReportViewer 任务智能标记面板的选择报表中,选择要在该控件中使用的 .rdlc 文件。

8. “ReportViewer 任务智能标记面板的选择数据源中,选择要使用的数据集。数据集对象、绑定源对象和表对象将显示在工作区的底部。有关更新数据源引用的详细信息,请参阅更新和重新绑定数据源引用

9. 保存所有文件,然后生成或部署此项目以验证该报表是否包含所需的数据。

RDLC RDL 转换

满足下列条件时,.rdlc 文件将自动转换为 .rdl 格式:

·             .rdlc 文件所使用的数据源使用集成安全性。

·             通过数据表提供报表数据。如果 .rdlc 使用业务对象中的数据,则必须手动转换 .rdlc 文件。报表服务器不具有处理报表中的业务对象的能力。

·             .rdlc 文件所使用的数据源映射到报表服务器上安装的数据处理扩展插件之一(例如,如果数据源是 SQL Server 数据库,则可以使用报表服务器上默认安装的 SQL Server 数据处理扩展插件)。

·             不需要修改查询和数据源连接信息。

若要自动转换 .rdlc,可以将 .rdlc 文件重命名为 .rdl,然后将 .rdl 文件发布或上载到报表服务器。可以使用 SQL Server 2005 中的 Business Intelligence Development Studio 发布 .rdl 文件。有关创建报表项目、发布报表、上载文件的详细信息,请参阅 SQL Server 2005 联机丛书。

若要手动将 .rdlc 转换为 .rdl 文件格式,请执行下列步骤:

1. 确定要与 .rdl 文件一起使用的数据源。可以使用 SQL Server 关系数据库、Analysis Service 多维数据库、Oracle 数据库或任何其他支持的数据源。该架构必须与用来创建原始 .rdlc 报表布局的架构相同。

2. 使用 .rdl 文件扩展名重命名 .rdlc 文件。

3.  SQL Server 2005 Business Intelligence Development Studio 中,创建或打开用来包含此报表的报表服务器项目。

4. 项目菜单上,单击添加现有项。选择第一步中创建的 .rdl 文件并将其添加到该项目中。

5. 在解决方案资源管理器中,打开刚刚添加到该项目中的 .rdl 文件。报表定义将在设计模式下打开。您将看到下列选项卡:数据选项卡、布局选项卡和预览选项卡。单击数据,在数据视图中打开此报表。

6. 在数据视图中,选择第一个数据集,然后单击编辑按钮 (...),如下图所示:

 

7. 数据集对话框中,单击数据源名称旁边的编辑按钮 (...)

8. 更新连接信息。应替换连接字符串,以便报表连接到要使用的数据源。可能需要更新数据源类型、服务器、身份验证选项和数据库选择。

9. 单击运行”(!),验证数据源是否返回所需的数据。

10.           重复上述步骤,修改此报表中使用的任何其他数据源。

11.           预览此报表以验证数据是否按预期形式合并到报表布局中。若要预览此报表,请单击预览选项卡。

 

 

posted on 2007-06-05 22:54 江太公 阅读(...) 评论(...) 编辑 收藏