[SQL Server]設定報表匯出選項
前一段日子處理過一個特別的需求,客戶家使用Reporting Service進行Excel匯出時,會造成記憶體的大量飆升,且記憶體不會很快的被釋放掉,但會出PDF則不會有相同的現象,這個現象詢問過微軟的技術經理後得到的結論是這是RS 2005在設計上的一個缺陷,匯出Excel時,會叫起Excel的巨集,開始進行資料的匯入,處理完後並不會立刻將所使用的資源進行釋放,如果這張報表有10000筆資料,則匯出後大約需要400MB左右的記憶體,多來兩次,Report Server大概就crash了,除了建議客戶大量的資料匯出改成用批次處理的方式外,也打算將Report上的Excel匯出功能關閉。
後來在網路上找到這個方法:
- 在ReportServer的安裝路徑下找到rsreportserver.config,這個檔案是Report Server的組態設定檔
- 找到Render這個Tag,看到Extension Name="Excel"的位置
- 將
<Extension Name="EXCEL"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microso
ft.ReportingServices.ExcelRendering"/>改成
<Extension Name="EXCEL"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microso
ft.ReportingServices.ExcelRendering" Visible="false" />
經過此設定後,重新啟動報表服務,則Excel的選項將不會出現在下拉選單中了。
以上的方法需修改設定檔,另一招更絕,直接把Toolbar關閉,一般我們啟動報表會看到這段Toolbar:
當我們在報表啟動的url中加上rc:Toolbar=false,我們就可以看到Toolbar不見了:
以上兩個小設定分享給大家。
游舒帆 (gipi) 探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。 |