[SQL Server]设定报表导出选项

[SQL Server]设定报表导出选项


前一段日子处理过一个特别的需求,客户家使用Reporting Service进行Excel导出时,会造成内存的大量飙升,且内存不会很快的被释放掉,但会出PDF则不会有相同的现象,这个现象询问过微软的技术管理后得到的结论是这是RS 2005在设计上的一个缺陷,导出Excel时,会叫起Excel的宏,开始进行数据的导入,处理完后并不会立刻将所使用的资源进行释放,如果这张报表有10000笔数据,则导出后大约需要400MB左右的内存,多来两次,Report Server大概就crash了,除了建议客户大量的数据导出改成用批次处理的方式外,也打算将Report上的Excel导出功能关闭。

image

后来在网络上找到这个方法:

  • 在ReportServer的安装路径下找到rsreportserver.config,这个文件是Report Server的组态配置文件

image

  • 找到Render这个Tag,看到Extension Name="Excel"的位置

Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microso
ft.ReportingServices.ExcelRendering"/>

改成

Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microso
ft.ReportingServices.ExcelRendering" Visible="false" />

经过此设定后,重新启动报表服务,则Excel的选项将不会出现在下拉菜单中了。

image

参考数据:http://weblogs.asp.net/jgalloway/archive/2006/12/12/reporting-services-add-a-logo-to-the-report-manager.aspx

以上的方法需修改配置文件,另一招更绝,直接把Toolbar关闭,一般我们启动报表会看到这段Toolbar:

image

当我们在报表启动的url中加上rc:Toolbar=false,我们就可以看到Toolbar不见了:

image

以上两个小设定分享给大家。

游舒帆 (gipi)

探索原力Co-founder,曾任TutorABC协理与鼎新电脑总监,并曾获选两届微软最有价值专家 ( MVP ),离开职场后创办探索原力,致力于协助青少年培养面对未来的能力。认为教育与组织育才其实息息相关,都是在为未来储备能量,2018年起成立为期一年的专题课程《职涯跃升的关键24堂课》,为培养中国台湾未来的领袖而努力。