基于SQL2005的企业报表系统的研究与实现

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:xing_h0576
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了SQL Server报表服务2005的特点,结合企业报表的需求,采用对RDL文件的修改和对报表服务的数据处理进行扩展的方法,给出了一个在VS环境下利用SQL Server2005中的Reporting Service 实现动态显示Web自定义报表的例子。
  关键词:报表服务;SQL2005;报表参数;RDL
  中图分类号:TP391文献标志码:A文章编号:1009-3044(2008)12-20ppp-0c
  
  The Research and Implementation of the enterprise Report System Based on SQL2005
  HAN Min, YOU Feng, ZHAO Heng-yong
  (College of Information Science and Technology, Beijing University of Chemical Technology, Beijing 10029, China)
  Abstract:Introduced the characteristic of SQL Server 2005 reporting services. Integrate the demand of enterprise report, uses the method of modifying the RDL document and processing the data of reporting services, giving an example of using Reporting Service of SQL Server2005 to realize dynamic display Web user-defined report under the VS environment.
  Key words:Report service; SQL2005; Report Parameter; RDL
  
  1 引言
  
  随着Internet的发展,企业级应用软件逐渐由C/S结构转向B/S结构,企业管理信息系统正逐步由传统的客户端/服务器模式向Internet转移,作为其输出展现端,越来越多的报表将在Web 环境下开发和应用[1]。在企业级的报表解决方案中,不少开发人员采用集成于Visual Studio中的Crystal Report (水晶报表)工具实现,但水晶报表作为第三方开发组件,对其应用时需要编写大量的程序且部署复杂。由于SQL Server的Reporting Services(报表服务)采用集中存储和管理报表、设置策略以确保对报表及文件夹的安全访问、控制处理和分发报表的方式,使在企业业务中使用报表的方式标准化,并且报表服务使报表的设计生成更加容易,具有和Visual Studio集成性好,易于部署,用户的个性化设置灵活的特性,本文提出利用SQL 2005中的Reporting Service 实现企业报表系统的解决方案。
  
  2 Reporting Service简介
  
  Reporting Services是微软在2003年作为SQL Server2000产品套件的一部分发布的,2005年在SQL Server2005中进行了扩展。SQL Server报表服务是一种基于服务器的新型报表平台,该平台构建在 .NET Framework 2.0 上并与 SQL Server 2005集成在一起,可用于创建和管理包含来自关系数据源和多维数据源数据的表格报表、矩阵报表、图形报表和自由格式报表,可以通过基于 Web 的连接来查看和管理创建的报表,可以使用一个扩展的基于 Web服务的 API 将丰富的报表生成功能集成到应用程序中,因此,Reporting Services 是在各种企业报表开发环境中生成报表的极佳工具。
  2.1 RDL
  SQL Server2005报表服务定义了一个XML标准RDL(报表定义语言),是一种公开的XML定义报表的格式,因此,可以通过直接编写和修改RDL或者创建自定义工具生成相应的报表格式,满足用户对报表的自定义的需求,达到对报表服务的灵活性扩展。在SQL Server或VS2005环境中,可以使用图形化的制作工具编辑RDL文件。
  2.2 Reporting Service的报表设计工具
  Reporting Service包括两个报表设计工具:报表生成器和报表设计器。在企业级报表系统的应用中可针对不同的报表需求,选择相应的报表设计工具。
  报表生成器是一个发布在互联网上的Windows客户端应用程序,可以基于报表模型生成报表,报表生成器使用了智能客户端技术,在不必了解基础数据库、报表定义及Reporting Service存储报表的方式情况下,可以使用报表模型实时生成报表。
  报表设计器是一种用于创建和发布报表定义的工具。通过报表设计器可以访问所有报表定义功能。报表设计器提供了图形化的设计界面,可以在其中定义数据源和查询信息,利用其提供的报表项进行报表格式的设计,添加要显示的数据源字段。在报表设计器中通过对相应的报表项设置不同数据来源参数的方式,实现用户自定义报表格式和对报表数据的动态查询。
  2.3 报表管理器
  在SQL Server2005报表服务中,报表管理器是包含于报表服务中的一个基于Web 的管理应用程序,它使用ASP.NET和Web 服务API的报表服务器的界面创建。报表管理器应用程序驻留在Web 服务器上并且为Web 浏览器访问,为报表服务器数据库中的内容提供一个管理界面,在报表管理中可以完成用户对报表访问的安全设置、站点设置、文件夹的处理、报表属性设置及报表数据源的处理等应用。可以通过报表服务自身提供的报表服务器的URL访问报表管理器页面,实现企业级报表的Web 管理,也可以通过创建一个利用相同报表服务Web 服务API的应用程序来创建企业要求的自定义的报表管理器[2]。
  
  3 企业报表系统的方案设计及实现原理
  
  3.1 企业报表系统的实现技术。
  为了满足企业级Web 报表系统的性能需求,其技术方案如图1所示:
  
  3.2 企业报表系统实现原理
  为了实现自定义报表,本文设计了基于ASP.NET 和SQL Server报表服务2005的Web 自定义报表模型:建立报表格式信息数据库和报表数据信息数据库,通过ADO.NET访问数据库。报表数据采用ADO.NET DataSet作为数据源绑定,根据SQL Server报表服务2005提供的数据处理接口在Visual Studio2005中编写代码实现数据集的动态绑定[3]。对SQL Server报表服务2005进行参数设置实现报表格式的自定义。首先,在根据企业的应用需求确定报表表格的自定义参数,即对报表服务的报表项(表、文本框、列表、图像和矩形等)建立参数表;其次,对报表的数据处理进行扩展应用,根据查询排序等设置从数据库中提取数据,动态生成DataSet数据源,在ASP.NET中,将ado.net DataSet 动态绑定到报表显示控件ReportView; 最后,在ASP.NET中,对ReportView控件编写代码实现对SQL 2005的报表服务的访问。实现原理如图2所示。下面结合实例讲解企业自定义报表的实现。
  
  3.3 报表格式的自定义
  SQL Server报表服务2005的报表模板格式的自定义可以由以下两种方式实现。第一种是在报表服务外部,通过XML文档的修改实现报表的自定义,此方式对熟悉XML语言的用户适用。第二种方式针对不熟悉报表开发环境的一般用户,通过选择相关报表格式参数的方式实现报表模板格式的自定义。
  修改XML 文档实现报表的自定义,可以在Visual Studio 环境下选择SQL Server Business Intelligence Development Studio,通过创建报表项目在报表设计器窗体以图形化界面的方式对报表模板进行定义,或者选择报表向导的方式完成对报表模板的定义。由于定义报表的RDL文件是一个XML文档,该XML文档具有报表所有属性的标记选项卡的标准定义,报表设计元素的属性值可以用一个文本编辑器修改,因此可以在报表服务器外部通过修改编写符合报表定义的XML文件或修改已有的XML文件的方式实现报表模板的自定义[4]。
  修改报表格式参数实现报表格式的自定义,在定义报表时,可以对组成报表的报表项通过对ReportParameter属性的操作,即对构成报表的文本框、表格、矩形、列表、图像等进行相应得参数设置,这些参数可通过表达式设置,也可以通过查询数据库中的报表参数信息进行设置,从而实现用户选择相应的报表参数完成报表格式的自定义。
  3.4 报表数据处理
  在报表设计器中,通过对数据库查询设置报表数据集。区别于.NET中的数据集,报表服务中的数据集指一个查询表达式或一个用于查询数据库中对象的引用,包括在报表的定义中。可以在定义数据集的查询中设置参数,也可以在存储过程中定义参数实现数据筛选,参数项可以由一个静态列表或者一个数据驱动的查询填充,从而实现用户选择不同的参数对报表的各种查询显示[5]。根据SQL Server报表服务2005提供的数据处理接口,通过ADO.NET访问数据库,报表数据采用ADO.NET DataSet作为数据源绑定,在Visual Studio2005中编写代码实现数据集的动态绑定。
  3.5 报表的显示输出
  SQL Server报表服务2005 能够集成到不同的应用程序中,且具有不同的显示报表的方法:使用URL来访问报表,使用报表服务的Web服务以编程的方式显示报表,使用ReportViewer控件显示报表和使用SharePoint显示报表。本文采用ReportViewer控件显示报表的方式实现报表的显示,该显示方式可以完成在显示页面中的浏览、打印、保存、查询、翻页等功能。由于ReportViewer是客户端控件,可以使用来自任何数据源的数据,既可在Windows窗体使用,也可在Web窗体使用,故根据企业报表显示的需求,采用在Web 窗体使用ReportViewer实现报表的显示输出。首先,将定义好的报表添加到ASP.NET 应用程序中,打开Choose Toolbox Items检查ReportViewer控件,将其添加到引用中。其次,在Web窗体上添加ReportViewer控件和其他输出页面进行交互的控件如标签和下拉列表框等。最后,设置ReportViewer的ReportPath和ReportServerUrl属性,并编写相应代码完成报表参数的传递,参数作为RportParameter对象数组来管理,报表参数通过传递给ServerReport对象的SetParameters方法的数组来填充。其部分代码如下所示:
  private void ViewReport()
  {
  string sReportServerURL = "http://LocalHost/ReportServer";
  string sReportPath ="/Professional SQL Reporting Services/enterprise report ";
  Microsoft.Reporting.WinForms.ReportParameter[] Param;
  Param[0] =newMicrosoft.Reporting.WinForms.ReportParameter
  ("OrderDateFrom", this.dtOrderDateFrom.Value.ToString());
  Param[1]
  =newMicrosoft.Reporting.WinForms.ReportParameter
  ("OrderDateTo",this.dtOrderDateTo.Value.ToString());
  reportViewer1.ProcessingMode =
  Microsoft.Reporting.WinForms.ProcessingMode.Remote;
  reportViewer1.ServerReport.ReportServerUrl
   = new Uri(sReportServerURL);
  reportViewer1.ServerReport.ReportPath = sReportPath;
  reportViewer1.ServerReport.SetParameters(Param);
  reportViewer1.ShowParameterPrompts = false;
  reportViewer1.ShowPromptAreaButton = false;
  reportViewer1.RefreshReport();
  }
  
  4 结束语
  
  本文提出的在.NET平台下利用SQL Server2005中的报表服务实现企业报表系统的方案,满足了企业对报表灵活设置参数实现对某些报表项的自定义和易于更新和维护的需求。该方案适用于在.NET 平台下生成各类企业报表。由于SQL Server报表服务和SQL数据库结合的紧密并且具有很好的扩展性,以及对企业商业智能(BI)的支持,可进一步从数据处理扩展、交付扩展、显示扩展和安全扩展等领域延伸企业报表系统的应用。
  
  参考文献:
  [1]张亚平、贺占庄,B/S架构下动态报表的一种实现方式[J],计算机技术与发展,2007,17(4):93-95,103.
  [2]paul Truly 、谢文亮(译),SQL Server2005报表服务高级编程[M],北京:清华大学出版社,2007.
  [3]陈传波、黄刚、刘清慧,一种基于ASP.NET的自定义报表的设计与实现[J],计算机工程与科学,2006,28(6):112-114.
  [4]菅言彬,基于XML的Web智能报表的研究与实现[D],华北电力大学,2005.
  [5]刘福军、申永军、刘杰、史维祥,存储过程和OLE技术在报表设计中的应用[J],计算机与现代化,2003,(3):73-75,7.
  
  收稿日期:2008-03-27
  作者简介:韩敏(1978-),女,内蒙古鄂尔多斯人,硕士研究生,主要研究领域为过程工业监测平台;尤枫(1963-),男,辽宁沈阳人,硕士,讲师,主要研究领域为信息安全技术、软件开发自动化;赵恒永(1940-),男,河北保定人,教授,主要研究领域为企业实时信息系统平台、生产过程控制、数据挖掘与智能决策。
其他文献
摘要:该文来源自2008年度浙江省教育科学(高校)规划研究课题——高职院校《Photoshop》课程项目化教学的研究与实践,文章论述了项目化教学的相关概念,对课题单位金华职业技术学院信息工程学院对《Photoshop》课程开展项目化教学的研究与实践过程进行了论述,为同类课题的研究提供了参考。  关键词:高职; 项目化教学; Photoshop  中图分类号:TP317.4文献标识码:A文章编号:1
长时间以来,写作教学设计一直是语文教学的难题,日常写作教学设计大都粗疏,写作教学品质不高。近年来,尽管统编教材设置了写作专题,但写作教学设计仍然呈现定型化趋势,即按照“写作知识 学生写作”的套路进行。抽象、符号化的知识无法深化学生的思维,无法激活学生的表达潜能,对于学生完成具体的写作任务帮助不大。学习者是带着已有的特定行为倾向来面对学习环境和新的学习任务的,每一位学习者的特征蕴含着不同的教学设计含
摘要:近年来,我国高职软件技术教育蓬勃发展,为国家建设和地方经济发展培养了大量高素质技能型专门人才,同时,软件技术专业的课程存在竞争力缺乏、教学模式相对陈旧等问题,已经不能适应经济和社会发展的需要。本文参考国际软件专业教育或培训的方法,探讨在工学结合人才培养模式下的软件技术专业课程改革与整合。  关键词:工学结合;软件;职业教育;课程改革与整合  中图分类号:G434文献标识码:A文章编号:100
摘要:Ad Hoc网络是一种特殊的多跳移动无线网络,它不需要任何预先设置的固定设施就可组网。由于其组网方式的灵活,使得其存在着较大的安全隐患。根据Ad Hoc网络的特点,分析其面临的各种安全漏洞,并提出了几种Ad Hoc网络的安全策略。  关键词:Ad Hoc Network;自组织网络;网络安全;安全机制  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)34-160
摘要:在分析分布式体系结构及其特点的基础上,利用Delphi对CORBA技术及Web应用系统开发的支持,将CORBA技术应用于网络教学平台的开发,实现了分布式多层Web应用系统,提高系统的稳定性、延展性和执行效率,解决了大型Web应用系统中存在的负载瓶颈问题。  关键词:CORBA;Delphi;分布式Web应用系统  中图分类号:G434文献标识码:A文章编号:1009-3044(2008)36
1968年生于湖南会同。中国四川省工艺美术大师,四川省美术家协会会员,四川省中国画学会会员,成都当代工笔画研究会理事,成都市美术家协会会员,中国民间艺术家协会会员。  1992年毕业于长春大学美术系,2004年于四川省诗书画院研修班毕业,四川省诗书画院特聘美术师,北京巴蜀画院美术师,四川蜀山画院美术师,电子科技大学成都学院教授。  志龙和我同是刘朴的学生。十年前我们在四川省诗书画院研修班开学典礼上
摘要:构造函数是C#语言中一种非常重要的方法,该文简要介绍了构造函数的概念和作用,较系统地的介绍了各类构造函数在C#中的运用,以及在使用过程中需要注意的若干事项。  关键词:.NET ;C#语言;构造函数  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)27-1994-02  Analysis of Constructor Function in C#  XIA Q
摘要:对校园网内存在ARP欺骗现象,利用DHCP Option 82应用与交换机防范技术相结合,实现用户IP与MAC地址自动绑定,有效控制了校园网内部ARP欺骗。  关键词:校园网;ARP欺骗;DHCP Option 82   中图分类号:TP309文献标识码:B文章编号:1009-3044(2008)21-30422-03    The Campus Network Protection ARP
摘要:网络地址转换(NAT)与网络安全协议(IPSec)都是在因特网上得到广泛应用的优秀技术,但由于目前IPSec和NAT技术的不兼容,使得这两种优秀的技术无法同时在网络中并存。该文对IPSec和NAT协同工作的问题进行了研究,指出NAT穿越方案的适用范围,为合理构建IPSec VPN提供了指导。  关键词:IPSec;NAT;IKE;VPN;UDP封装  中图分类号:TP393文献标识码:A文章
摘 要:该文通过对Windows 2008中WDS的特性、安装以及使用等的研究,对WDS在网络中的应用进行了论述。  关键词:WDS;Windows 2008;操作系统布署  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1340-02  Making Using of Windows Deployment Services to Install Operati