知识大全 用 SQL Server从应用程序生成用户友好的报表

Posted

篇首语:尺有所短;寸有所长。物有所不足;智有所不明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用 SQL Server从应用程序生成用户友好的报表相关的知识,希望对你有一定的参考价值。

用 SQL Server从应用程序生成用户友好的报表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  灵活的报表功能是大多数业务应用程序的一个要求 这些报表功能在集成到 Web 应用程序中之后用途更加广泛 利用 SQL Server® Reporting Services 的最新版本 您可以轻松地具有来自各种数据源的报表生成功能 在本文中 我将介绍使用 Visual Studio® 和 Reporting Services 来编写报表 并演示如何将报表集成到 Web 应用程序中     Reporting Services 是基于服务器的报表生成平台 该平台构建在 NET Framework 上并与 SQL Server 集成在一起 因此您可以使用一个扩展的基于 Web 服务的 API 将丰富的报表生成功能集成到应用程序中 尽管报表服务器使用 SQL Server 作为报表的储存库 但利用 OLE DB ODBC 或 ADO NET 提供程序的任何数据源都可以用来为报表提供数据 这就使得 Reporting Services 成为在各种企业环境中生成报表的极佳工具     Reporting Services 是作为 SQL Server 的一部分而授权的 因此如果您有已授权的 SQL Server 的副本 则可以在同一服务器上运行 Reporting Services 而无需支付额外的许可证费用 如果您决定在独立的 尚未经 SQL Server 授权的计算机(例如 Web 服务器)上运行 Reporting Services 您将需要购买额外的 SQL Server 许可证     要开始使用 Reporting Services 您可以下载位于 SQL Server Reporting Services 的 天试用版软件 它还包括有关如何获得该产品的安装媒体的说明 在安装该产品时 请确保选中包括示例报表的选项 因为我要将这些报表集成到本文的 Web 应用程序中   Reporting Services 概述    Reporting Services 报表设计使用新的 Visual Studio NET 报表设计器 在安装有 Visual Studio 的同一计算机上安装了 Reporting Services 后 该设计器就可以使用 设计器以新的基于 XML 报表定义语言 (RDL) 输出报表布局和数据访问的说明 而 RDL 文件会发布到报表服务器 如果您希望为用户提供创作功能 也可以使用第三方的报表设计器     管理员可以使用基于 Web 的报表管理器来管理已发布的报表 并且可以执行一些任务 例如 保证某些用户组报表的安全或更改已部署报表的数据源连接字符串 用户也可以使用报表管理器来浏览和查看报表 但是很多公司倾向于使用 URL 请求或 Reporting Services Web 服务 将报表查看直接集成到它们现有的内部 Web 站点或应用程序中   >  可以将报表参数化 这样用户可以在查看报表时从选择列表中进行挑选 它们还可以导出为多种格式 例如 Microsoft®Excel PDF 和 XML 尽管实时报表提供最新的数据 也可以将报表缓存一段时间以提高性能并减少数据源上的负载 对于商务智能应用程序 报表可以访问 Analysis Services OLAP 多维数据集 而且 Reporting Services 甚至可以导入现有的 Microsoft Access 报表 尽管由于这两种技术间存在差异 它并不能支持所有的 Access 功能 有关 Reporting Services 体系结构的详细情况 请参见图      设计第一个报表  尽管我介绍的重点在于将报表集成到应用程序中而不是创作报表 但熟悉 Reporting Services 的最好办法就是立即着手创建一个新的报表项目 为此 请打开 Visual Studio 并使用 Report Project Wizard 创建一个新的项目 该向导位于 Business Intelligence Projects 部分 为您的项目指定一个名称 单击 OK 然后将显示报表向导对话框 在您选择数据源的这一步骤中 单击 Edit 按钮 以便指定连接到您数据库服务器上的 AdventureWorks 单击 OK 然后选中使其成为共享数据源的选项     单击 Next 进入到 Design the Query 步骤 指定简单的 SQL 语句(例如 SELECT * FROM Product ) 然后单击 Next Reporting Services 支持显示一组固定列的标准表格式 (Tabular) 报表 也支持使用带有动态列的交叉表样式视图的矩阵式 (Matrix) 报表 因此为该报表选择 Tabular 然后单击 Next     将某些列(例如 ProductID 和 Name)拖到 Details 部分并单击 Next 选择默认的 Bold 样式 单击 Next 然后指定您的报表服务器的虚拟目录的 URL 例如//MyServer/ReportServer 现在 单击 Next 最后一步 您可以为您的第一个报表指定名称 例如 Products Report 然后单击 Finish     该向导将会创建该项目 同时还创建一个可以由多个报表共享 AdventureWorks 数据源 以及一个在设计器中打开的有关 Products 数据的报表(请参见图 ) 默认情况下 显示使您可以修改报表设计的 Layout 选项卡      >  Data 选项卡用于指定报表的查询 包括设置参数以便在执行报表时提示用户提供值 单击 Preview 选项卡来测试报表显示给用户的方式     现在 您可以将附加的报表添加到该项目 或者通过添加附加列 将数据分组 添加汇总 甚至是添加能够显示来自其他查询的数据的附加表来修改 Products 报表 与很多报表设计器不同 Reporting Services 使用带外设计 这使得它可以轻松地创建将各种源的数据集中在同一个位置的报表     您刚刚创建的报表项目由当前驻留在您的开发计算机上的一组文件组成 为了将这些报表发布给用户 您需要将该项目部署到报表服务器      部署和测试  在部署报表项目之前 需要指定将项目部署到哪一个服务器 如果您最初使用该向导创建了报表项目 那么您可能已经指定了目标服务器     要检查该设置或指定一个新服务器 请选择 Project | Properties 来显示 Project Properties 对话框 进行该设置使您可以指定项目的文件夹名和 Reporting Services Web 服务的 URL 在菜单上选择 Build | Deploy Solution 将构建报表项目 然后将其部署到服务器     在部署报表项目后 您就可以进行测试了 已部署到服务器的每个报表都具有唯一的路径 该路径可以用于在浏览器中显示报表 例如 要显示您创建的第一个报表 请打开浏览器并导航到//MyServer/ReportServer?/Report+Project /Products+Report 这会以 HTML 格式呈现报表并在页面的顶端显示一个工具栏 以便使您可以对报表进行翻页 更改缩放比例 甚至以各种其他格式(例如 PDF)查看报表     您还可以通过导航到服务器上的以下 URL 来浏览已部署到服务器的所有报表项目的列表//MyServer/ReportServer 报表服务器提供使您可以查看已部署的报表类型和查看报表的最小的用户界面     报表管理器是一个更加友好 功能更丰富的工具 可以通过简单地导航到本地服务器上的以下 URL 来访问该工具//MyServer/Reports      将报表添加到 Web 应用程序  既然您知道如何设计 部署和测试报表 就让我们将这些报表集成到应用程序中吧!很多 Web 应用程序都包括针对每个用户的自定义主页 通常称为 仪表板 这个页面通常提供针对用户量身定做的摘要式信息并作为跳转点来访问应用程序的其他功能     我将使用 Reporting Services 附带的示例报表构建一个仪表板来演示报表集成 如图 所示 如果您在安装过程中安装了示例报表 您可以打开该报表项目(安装到 \\Reporting Services\\Samples\\Reports)并将其部署到测试服务器 您可以使用报表管理器工具通过浏览到 SampleReports 文件夹来测试示例报表      >  为用户提供从应用程序访问报表的权限的最简单方法就是使用超级链接 如您已经看到的那样 每个报表都具有唯一的 用于在浏览器中显示报表的路径 对于仪表板应用程序 报表应该在单独的窗口中打开 因此我将为该超级链接指定一个目标 到目前为止 这是非常简单的 但是对于具有参数报表的报表(例如 Employee Sales Summary 报表)来说 情况又如何呢?要真正地将报表集成到应用程序中 您通常需要为参数指定某些值 以便用户不会被经常提示     Reporting Services 使这项任务非常简单 报表参数的值可以指定为 URL 的一部分 例如 Employee Sales Summary 报表具有 ReportYear ReportMonth 和 EmpID 参数 因此显示编号为 的员工在 月份的销售额的超级链接可以是       Summary&ReportMonth= &EmpID= target= _blank >November Sales Summary      不具有在 URL 中指定的值的参数将使用在报表设计器中设置的默认值 因此刚才展示的示例销售汇总报表使用的 ReportYear 值是 Reporting Services 还有一组用于控制报表显示方式的内置参数 这些参数通过加上前缀 rs: 来区别您自己的报表参数     其中最有用的一个参数就是 rs:Format 参数 它用于指定呈现报表的格式 这使您可以包括不需要显示在 HTML 中的报表 还可以使用诸如 PDF 甚至是 XML 的格式 其他常用参数是 rs:Command 指示出要应用到您所指定的路径的操作 例如 rs:Command=Render 将呈现一个报表 而 rs:Command=ListChildren 将列出文件夹中所有项     如果您没有指定命令 Reporting Services 将查看您指定的路径并计算出要采取的适当操作 例如 呈现报表 图 显示了 rs:parameters 的列表   另一组内置参数控制各种输出格式的行为并使用 rc:prefix 每个报表格式都具有其自己特定的一组参数 例如 要以没有标题行的逗号分隔值 (CSV) 格式呈现报表 您应该使 cha138/Article/program/SQLServer/201311/21969

相关参考

知识大全 sql server自动生成批量执行SQL脚本的批处理

sqlserver自动生成批量执行SQL脚本的批处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 获取 SQL SERVER用户表信息游标

获取SQLSERVER用户表信息游标  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /*获取用户

知识大全 SQL Server 2005 控制用户权限访问表

SQLServer2005控制用户权限访问表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一需

知识大全 确定SQL Server用户是否属于某个角色

确定SQLServer用户是否属于某个角色  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对数据

知识大全 VC在SQL Server7中动态增加/删除用户

VC在SQLServer7中动态增加/删除用户  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本

知识大全 SQL Server数据体系和应用程序逻辑

SQLServer数据体系和应用程序逻辑  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在许多用SQ

知识大全 用MySQL实现SQL Server的Sp

用MySQL实现SQLServer的Sp  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  从MyS

知识大全 SQL Server应用程序中的高级SQL注入

SQLServer应用程序中的高级SQL注入  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要

知识大全 SQL Server同Index Server的结合应用3/3

SQLServer同IndexServer的结合应用3/3  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 asp根据表单自动生成sql语句的函数

  每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句特别是字段比较多的时候很麻烦动不动就容易写错所以我就写了下面的生成sql语句的函数用了用觉得还可以  程序代码  <%=====