ReportingServices服务部署配置及开发_第1页
ReportingServices服务部署配置及开发_第2页
ReportingServices服务部署配置及开发_第3页
ReportingServices服务部署配置及开发_第4页
ReportingServices服务部署配置及开发_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ReportingServices效劳部署配置及开发配置报表效劳环境要求必须安装所有ReportingServices组件。即检查是否存在C:\ProgramFiles\MicrosoftSQLServer\MSSQL.3\目录。ReportingServices配置工具进行运行环境配置1、配置效劳状态。(1)、单击“开始〞,依次指向“程序〞、MicrosoftSQLServer2024和“配置工具〞,再单击“ReportingServices配置〞。此时将出现“选择报表效劳器安装实例〞对话框,可以选择要配置的报表效劳器实例,如图:(2)、在“计算机名称〞中,指定安装报表效劳器实例的计算机名称。指定的默认值是本地计算机名称,但也可以键入远程SQL效劳器实例的名称。如果指定远程计算机,请单击“查找〞以建立一个连接。必须事先配置报表效劳器,以便进行远程管理。(3)、在“实例名称〞中,选择要配置的SQLServer2024ReportingServices实例。在列表中只显示SQLServer2024报表效劳器实例。不能配置较早版本的ReportingServices。(4)、单击“连接〞。(5)、开启报表效劳。如图:同时,会启动数据实例,如图:2、创立和配置虚拟目录。说明:报表效劳器和报表管理器是通过URL访问的ASP.NET应用程序。报表效劳器URL提供对报表效劳器的简单对象访问协议(SOAP)端点的访问。报表管理器URL用于启动报表管理器。每个URL都包括您在ReportingServices配置工具中指定的虚拟目录。可以为虚拟目录选择默认网站或其他网站。(1)、配置报表效劳管理虚拟目录,如图:(2)、配置报表文件管理效劳虚拟目录,如图:3、配置效劳帐户。说明:ReportingServices需要效劳帐户才能运行报表效劳器Web效劳和MicrosoftWindows效劳。报表效劳器Windows效劳是在安装过程中配置的,但如果要更新密码或者要使用其他帐户,那么可以使用ReportingServices配置工具修改该效劳。如果您使用的是MicrosoftWindowsXP或Windows2000效劳器,那么不能配置报表效劳器Web效劳。ASP.NET平安标识始终用于在这些操作系统上运行报表效劳器Web效劳。针对WindowsServer2024,那么报表效劳器Web效劳将应用程序池的平安标识用作它的效劳帐户。可以使用ReportingServices配置工具新建自动为报表效劳器操作配置的应用程序池。还可以选择现有的应用程序池。(1)、配置Windows帐号。如图:(2)、配置WebService帐号,如图:4、创立和配置报表效劳器数据库。说明:报表效劳器是一个无状态效劳器,它需要将SQLServer数据库用于内部存储。可以使用ReportingServices配置工具来创立和配置与报表效劳器数据库的连接。还可以选择现有的数据库,前提是其使用SQLServer2024ReportingServices的架构。提供了一个升级选项,以便您可以将数据库更新为新架构。如图:5、管理加密密钥。说明:ReportingServices使用对称密钥来加密和解密敏感数据,如存储的凭据和数据库连接信息。创立和存储对称密钥是在初始化过程中执行的,该初始化过程会准备报表效劳器以进行加密操作。明确报表效劳器是否已初始化是报表效劳器管理中的一个必不可少的局部。如果发生硬件故障或者方案迁移到另一台计算机,那么管理对称密钥对于报表效劳器恢复非常重要。ReportingServices配置工具提供了用于备份、复原和重新创立加密密钥的选项,以及用于在不能恢复时删除加密值的选项。还可以用它来查看报表效劳器实例的初始化状态。如图:6、配置电子邮件传递。说明:ReportingServices包括一个报表效劳器电子邮件传递扩展插件,该插件使报表订阅效劳器可以将报表传递到电子邮箱。电子邮件传递扩展插件使用简单邮件传输协议(SMTP)传递报表或通知。您可以使用ReportingServices配置工具指定将网络上的哪个SMTP效劳器或网关用于电子邮件传递。如图:7、配置扩展报表效劳器部署模型。说明:ReportingServices支持在负载平衡群集中部署报表效劳器。要在扩展部署中运行多个报表效劳器,所有报表效劳器实例均需使用单个的共享报表效劳器数据库。该数据库提供其所有加盟报表效劳器的内部存储和状态信息。假设要部署报表效劳器扩展部署,应使用ReportingServices配置工具将每个报表效劳器连接到共享的报表效劳器数据库。如图:管理效劳器报表经过配置工具完成配置之后,IIS中网站(ReportingServices2024)会自动创立两个虚拟目录ReportServer和Reports。其中ReportServer是报表效劳管理,报表的编译执行都是通过它,而Reports是报表文件效劳管理,可以浏览报表、订阅等操作来管理报表。在地址栏中输入:http://localhost:网站端口号/ReportServer,显示如图:在地址栏中输入:http://localhost:网站端口号/Reports,显示如图:报表制作概念介绍1、数据源数据源就是指定连接的数据源类型、连接字符串和凭据。通俗点讲就是指定对一个数据库〔并非只局限于数据库,还可以是xml、报表效劳器模型待〕的连接信息。在ReportingServices中,针对报表定义数据集的第一步是定义要使用的数据源。数据源中不包含查询信息。查询信息包含在数据集中,而数据集使用数据源来连接数据库。假设要指定在报表定义中使用的数据源,那么必须在报表设计器创立一个数据源。而不是在报表效劳器资源管理器中。

数据源可以是共享的,也可以是特定的,同时,也可以定义多个数据源。指定数据源的方式:〔建议非特殊情况采用共享数据源,易于维护〕作为存储在报表内的嵌入信息〔这称为“报表特定数据源〞〕。作为共享数据源,该数据源是在报表设计器中单独定义的,在报表发布时将作为单独项保存在报表效劳器上。作为用于在运行时选择数据源的表达式。数据源的添加与设置2、数据集通俗地讲,数据集就是为报表的最终展现提取所需的数据。数据集可以是一段SQL,也可以是存储过程,数据集的具体内容依赖于所选择的数据源〔即:选择不同的类型的数据源,对应的数据集中的SQL或存储过程也是与数据源所指定的类型相匹配〕。a)关系数据库可以使用Transact-SQL查询或存储过程b)多维数据库可以使用多维查询或数据挖掘查询c)XML文档或Web效劳可以指定带有或不带有命名空间的查询d)报表模型可以使用报表模型元数据查询另外,ReprotingService报表中,同一个报表可以支持一个或多个数据集,这对于复杂的需要从不同的数据源进行数据提取相当简便。

同一报表指定多个数据集〔SQL〕使用存储过程的数据集注意:使用存储过程作为数据集形式时,对于存储过程中的参数,如何进行传值需要进行单独设置。即在数据集的参数选项中,添加存储过程所需的参数列表,并指定值即可〔上图左边红色区域〕,同时要保证参数名称与存储过程中的名称完全一致。

错误写法:Execusp_rpt_DayReportData‘参数1’,参数2’,’参数3’ 表格报表表格报表是最常用一种数据展现形式,展示的是一个二维表,最大的特点是列是已明确的,行是不固定的。表格报表初始外观如下〔注意红色标记地方〕:表格报表初始外观图表格报表的数据分组:〔详见以下图〕一个报表中,可以存在多个分组,各分组之间按从上到下的顺序对数据进行处理,从某种意义上讲,可以理解为是存在着一种层级关系,即:先按1标记组〔以下图中行前有1标记的行,后面类同〕进行分组,再按2标记组进行分组,最后按3标记组进行分组。表格报表设计器中详细设置图示说明:1、对于一个分组在存在多行的情况,可通过选中组标记〔分组行的最前端有数字 的格 上〕,右键,选择插入行即可〔上图橙色圈的地方〕。2、对于数据合计,可以对具体的分组或整个报表添加〔上图绿、橙、黄背景色的行〕。3、对于数据分组可以设置更多相关的信息,如分组字段、数据过滤、可见性等等〔见以下图〕组属性设置图示以下其他类型数据报表中的分组及合计与表格报表类似,以下将只介绍其他数据报表的自身特性及主要设计步骤。层级报表设计层级报表也称作下钻报表,交互性和可读性都比拟好,允许用户展开或折叠分组的局部来浏览更多的细节内容。奇特之处是行局部简单地基于切换项来实现显示或隐藏。层级报表展示效果非常好,报表界面十分简洁,导出Excel后还可以保存展示的效果和功能。设计器中效果图导出Excel效果图步骤要点:编辑分组2,选择可见性标签,勾选“可由其他关联报表项确定可见性〞,选择分组1中的对象,由textbox4控制显示即可钻取报表设计钻取报表的最大特性是通过传递参数值到目标报表中,可以单击当前报表中的链接对其进行访问的一种报表。单击带有钻取操作的文本框,即可翻开钻取报表。如果钻取报表有参数,那么需要为每个报表参数传递参数值。链接源可以使用文本框或图像实现。步骤要点:

向报表添加报表钻取操作1、右键单击文本框,并选择“属性〞。将翻开“文本框属性〞对话框。2、单击“导航〞选项卡。3、在“超链接〞局部,单击“跳至报表〞。4、在文本框的下拉列表中选择目标报表5、单击“参数〞按钮。将翻开“参数〞对话框。6、在显示了为钻取报表定义的参数的“参数名称〞下拉列表中,选择具体的参数。7、单击“参数值〞文本框。在此下拉列表中,选择具体的字段。8、单击“确定〞。下一步将更改钻取链接的文本类型和颜色。9、单击“字体〞选项卡。10、在“效果〞下拉列表中,选择“下划线〞。11、单击“确定〞。12、在该文本框的“属性〞窗口中,单击“颜色〞属性文本框。在此下拉列表中,选择“表达式〞。“表达式编辑器〞将翻开。13、用以下表达式替换默认文本“黑色〞。

=Parameters!MyFontColor.Value

添加的文本框现在具有带下划线的文本,并且将按照参数MyFontColor中设置的颜色显示。这种直观的表示方式有助于报表读者了解存在指向另一个报表的活动链接。在可以预览报表之前,您必须按照下一步骤定义MyFontColor参数。

创立用于字体颜色的内部报表参数〔这个主要是为了管理方便〕1、在“布局〞视图的“报表〞菜单上,单击“报表参数〞。此时将翻开“报表参数〞对话框。2、单击“添加〞。将创立一个具有属性默认设置的新参数。3、在“属性〞局部的“名称〞属性中,键入MyFontColor。4、验证“数据类型〞是否为String。5、选中“隐藏〞复选框。“提示〞属性已禁用。6、验证“默认值〞是否为“无查询〞。7、在“默认值〞中,选中“无查询〞,并键入值MediumBlue或任何其他有效的字体颜色。8、预览报表。书签和链接1、书签书签是报表中的广本框或图像,可以用作链接浏览。允许在同一张报表内浏览,相当方便。需要设置报表项的Bookmark属性〔每个报表项此属性唯一值〕,设置目标项书签后,通过跳转到书签功能,来选择目标书签。2、链接跳转到URL可以实现浏览任何局域网或WWW环境里的报表效劳器、文件、文件夹和应用程序中的报表或文档内容。可用于灵巧的、强大的交互式的浏览。 提示:对于URL的平安性,报表效劳器不会尝试任验收证,需要在传递前进行验证。矩阵报表矩阵也就是交叉表或枢轴表。正如表的行产生于隐藏的结果集一样,矩阵的列做同样的事情。矩阵应该至少有两个带有交叉的聚合值的组。一个组创立行,一个组创立列。设计视图效果实际效果描述设计要点:1、数据显示根本设置设置对应行、列各分组的分组字段,以及具体的静态字段即可!各字段设置描述说明2、矩阵的下钻设置选中具体的组―?编辑组-?可见性,设置“可由其他关联报表项确定可见性〞属性来设置下钻操作所依赖的具体报表项即可。〔见以下图〕下钻设置示图3、矩阵的分组设置 选中具体要进行合计的行分组字段,右键选中小计即可自动增加分组合计行。注意:行合计默认排列于分组的最下方,可以通过单击行合计单元格右上角的小三角符号,来设置行合计的属性Position,来确定行合计是位于分组的上方或下方。对于合计列的设置同行类似。其他图表报表〔后续使用之后陆续补充〕报表技巧1、除数为0的处理方式。当进行除的计算时,需要考虑除数可能为0的情况,即黄色局部;另外,还应该在被除数上进行再次处理,即灰色局部。否那么当出现0值时,对应文本框会显示“错误号〞字样。=IIf(Sum(Fields!tpmj.Value)=0,0,Sum(Fields!tpje.Value)/IIf(Sum(Fields!tpmj.Value)=0,1,Sum(Fields!tpmj.Value)))2、外观边框预览与导出Excel之间的差异处理。在制作报表时,默认报表项的边框为1pt,在预览时各报表项线条显示是细线条,但在导出Excel后,线条却变成了粗线条〔与预览时的外观不一致〕。产生原因:因每个报表项〔数据表格时,每个单元格可理解为一个文本框,图像除外〕为一个文本框,每相邻的文本框间都会存在相邻边相互紧贴的关系,同于每个边为1pt,所以导出到Excel后,单元格的边框导致显示比预览的粗。解决方法:〔1)可手动修改默认设置,将每个单元格的边框样式,即只设每个单元格的左、上边框,或者右、下边框〔整个表格的四条外边框同理对应设置〕,这样导出即可实现细线条。(不推荐此法,设置相当麻烦,而且在预览展示上会出现局部单元格线条无法显示,而导出Excel却正常) (2)比拟理想简便方法A, 首先将整个表格设置成无边框〔图1〕图1B, 其次以单元格方式,选中所有单元格,将边框样式设置为0.5pt或0.25pt〔图2〕。本步骤必须通过属性面板设置〔通过上方工具栏将会无效〕图2C, 最后如有需要,可适当调整需要合并的单元格的边框样式〔图3〕。(对于横向合并的单元格,可直接合并,边框不需要做处理,而对于纵向合并的单元格,ReportingService不支持直接合并,只能通过将纵向相邻单元格的边框设置无none来实现,在导出Excel中,也会保持所设置的样式)3、创立用于字体颜色的内部报表参数〔这个主要是为了管理方便〕。前面钻取报表中已进行过详细步骤设置的介绍(此处略)4、数据格式化。数据格式化:标准格式化、显示格式化、条件格式化。报表中的格式化是基于.NetFramework中的格式化机制,可以使用正那么表达式格式化〔功能相当强大,从简单到极复杂都能实现,关于正那么可以参见MSDN库中介绍〕标准格式化:使用标准的、简单的字符串来指定数字或日期的格式化选项〔依赖于所使用计算机的区域文化设置格式〕显示格式化:不依赖于持定计算机的区域文化设置,格式化效果保持不变。〔具体格式符可参见联机帮助介绍,推荐采用此种方式进行格式化〕条件格式化:基于报表中其他字段或条件相关的表达式来确定值的显示格式。〔例:Switch(Fields!MyLocal.Value=〞DE〞,〞de-DE〞,Fields!MyLocal.Value=〞UK〞,〞en-GB〞)对于整数以含有分隔符方式来显示时,格式化符号没有默认的,只需要手动进行设置其显示格式为#,###即可!(如以下图),而对于其他显示格式,默认格式符选择可满足日常绝大局部要求。注意:在以“%〞百分符显示数据时,ReportingService会自动将相应数据进行换算,无需手动进行乘以100的处理。5、复制说明。报表支持整行或整列(列中不存在合并列)复制,同时包括行或列的样式,各报表项值的表达式,会同时复制〔报表项的默认名称会自动变化,使其保持唯一〕。 订阅报表概述订阅是一种持续存在的请求,它在特定的时间或为响应某个事件而传递报表,然后以您定义的方式提交该报表。订阅提供了一种可替代按需运行报表的方法。按需运行报表要求您在每次查看报表时都执行特定的操作。相比之下,使用订阅那么可以自动传递最新的报表。目前我们仅开发了〞标准订阅〞和“数据驱动订阅〞,针对〞文件共享传递〞不支持。标准订阅〔CreateSubscription〕标准订阅由各个用户创立和管理。标准订阅由静态值组成,这些值在订阅处理期间不能改变。每个标准订阅都有一组报表显示选项、传递选项和报表参数。数据驱动订阅〔CreateDataDrivenSubscription〕数据驱动订阅是动态的,具体表达在表示形式、传递和参数值是在运行时从数据源中检索的。数据驱动订阅专门用于以下情况:1、向大型收件人池分发报表,该池的成员身份可能随着分发的不同而有所变化。例如,向当前的所有客户分发月报表。2、根据预定义的条件向特定的收件人组分发报表。例如,向某个组织中的前十位销售经理分发销售业绩报表。假设要使用数据驱动订阅,必须具备生成查询的专业知识并了解如何使用参数。通常,由报表效劳器管理员创立和管理这些订阅。部署报表工具部署脚本部署rs-iD:\二次开发组\rsUtilities\DeployReports\DeployReports.rss-shttp://localhost:8016/reportserver-vstrAimFolder="数据源"-vstrAimReportsFolder="日报"-voOverWriteDataSource="true"-vstrDataSourceName="vankeRptDS"-vstrServerName="\SQL2024"-vstrDataBaseName="ERP25_vanke_20241229"-vstrDataSourceUserName="sa"-vstrDataSourcePassword="myJerry&2024%Pt$rv!"-vstrReportsFilePath="D:\ttt"DimmDefinitionAs[Byte]()=NothingDimmWarningsAsWarning()=NothingDimstrParentPathAsString="/"+strAimFolderDimstrParentReportsPathAsString="/"+strAimReportsFolderSubMain()rs.Credentials=System.Net.CredentialCache.DefaultCredentialsDimitemsAsCatalogItem()=NothingDimiAsIntegerDimoAimFolderExistsAsBoolean=FalseDimoAimReportsFolderExistsAsBoolean=FalseDimoDataSourceExistsAsBoolean=FalseTry'列出ReportServer根目录下所有项,判断目标目录是否存在items=rs.ListChildren("/",True)Fori=0Toitems.Length-1'是文件夹类型Ifitems(i).Name.ToUpper=strAimFolder.ToUpperAnditems(i).Type=ItemTypeEnum.FolderThenoAimFolderExists=TrueEndIfIfitems(i).Name.ToUpper=strAimReportsFolder.ToUpperAnditems(i).Type=ItemTypeEnum.FolderThenoAimReportsFolderExists=TrueEndIf'是数据源类型Ifitems(i).Name.ToUpper=strAimFolder.ToUpperAnditems(i).Type=ItemTypeEnum.DataSourceThenoDataSourceExists=TrueEndIfNextCatchexAsExceptionConsole.WriteLine(ex.Message.ToString)EndTry'创立数据源目标目录IfoAimFolderExistsThenConsole.WriteLine("目录"&strAimFolder&"已经存在!")ElseTryrs.CreateFolder(strAimFolder,"/",Nothing)CatchexAsExceptionConsole.WriteLine(ex.Message.ToString)EndTryEndIf'创立报表目标目录IfoAimReportsFolderExistsThenConsole.WriteLine("目录"&strAimReportsFolder&"已经存在!")ElseTryrs.CreateFolder(strAimReportsFolder,"/",Nothing)CatchexAsExceptionConsole.WriteLine(ex.Message.ToString)EndTryEndIf'创立数据源IfoAimFolderExistsAndoDataSourceExistsAndoOverWriteDataSource=FalseThenConsole.WriteLine("数据源已经存在!")ElseCreateDataSource()EndIf'发布报表TryDimoDirectoryInfoAsDirectoryInfoIfstrReportsFilePath=""ThenoDirectoryInfo=NewDirectoryInfo(".")ElseoDirectoryInfo=NewDirectoryInfo(strReportsFilePath)EndIfDimfilesAsFileInfo()=oDirectoryInfo.GetFiles("*.rdl")Console.WriteLine("总共报表数量:{0}",files.Length)DimfiNextAsFileInfo'循环发布报表ForEachfiNextInfilesDeployReport(Microsoft.VisualBasic.Left(fiNext.Name,fiNext.Name.Length-4))Next'将报表引用已创立的数据源DimreferenceAsNewDataSourceReferencereference.Reference=strParentPath&"/"&strDataSourceNameDimsubItemsAsCatalogItem()=rs.ListChildren(strParentReportsPath,False)ForEachitemAsCatalogItemInsubItemsIfitem.Type=ItemTypeEnum.ReportThenDimdataSourcesAsDataSource()=rs.GetItemDataSources(item.Path)ForEachdatasourceAsDataSourceIndataSourcesdatasource.Item=referenceNextrs.SetItemDataSources(item.Path,dataSources)EndIfNextCatchexAsExceptionConsole.WriteLine(ex.Message.ToString)EndTryEndSubPublicSubCreateDataSource()'DimfolderPathAsString="/"&strAimFolderDimcsrdbAsNewDataSourceDefinitioncsrdb.ConnectString="InitialCatalog="&strDataBaseName&";DataSource="&strServerNamecsrdb.Extension="SQL"csrdb.CredentialRetrieval=CredentialRetrievalEnum.Storecsrdb.Enabled=Truecsrdb.EnabledSpecified=Truecsrdb.ImpersonateUserSpecified=Falsecsrdb.UserName=strDataSourceUserNamecsrdb.P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论