2012年1月26日 星期四

RDLC (一) 簡介

RDLC究竟是什麼?RDLC是Report Definition Language Client-Side的縮寫,為微軟用戶端報表定義語言,可利用Visual Studio 2005/2008/2010建立RDLC報表,那與傳統Reporting Services報表有什麼不同?Reporting Services報表是利用RDL(Report Definition Language)作為報表檔案,兩者之間差異

依建立方式
  • RDL可由Business Intelligence Development Studio的Report Designer建立。
  • RDLC可由 Visual Studio 2005/2008/2010建立。
另外RDL及RDLC皆利用XML結構描述定義,在檔案的結構描述上是相同的,差異的地方在
  • 報表伺服器利用.rdl檔的<Query>項目資訊連接到資料來源。
  • ReportViewer處理.rdlc檔時,會忽略<Query>元素。
接下來我們來看RDLC的運作架構
上方的圖例是以Web開發為例採用Local Mode,ReportViewer Control利用.rdlc檔結合ADO.NET的DataTable資料呈現報表,報表檔(.rdlc)基本上是儲存在Web站台上。
上方的圖例是以Web開發為例採用Remote Mode,ReportViewer Control透過報表伺服器上的報表檔呈現報表,這裡指的報表伺服器是SQL Server Reporting Services,在報表檔(.rdl)裡定義了執行命令及連結資訊。

Local Mode及Remote Mode的差異比較簡述如下表
Local Mode Remote Mode
報表位置 儲放在本機端。 儲放在報表伺服器上。
匯出種類 只能匯出Excel、PDF、Word
以ReportViewer 10.0為例
報表伺服器所支援的所有格式
授權 免費。 需SQL Server License。

ReportViewer版本說明
依開發工具
  • ReportViewer 8.0   => Visual Studio 2005
  • ReportViewer 9.0   => Visual Studio 2008
  • ReportViewer 10.0 => Visual Studio 2010
提供匯出檔案的不同
  • ReportViewer 9.0   => Excel、PDF
  • ReportViewer 10.0 => Excel、PDF、Word
RDLC的優缺點

優點

缺點
  • 有助於分工
    • 系統開發人員根據商業邏輯自資料庫取出資料。
    • 報表設計人員根據報表如何呈現設計。
  • 權限控管彈性。
  • 報表設計簡單。
  • 相較於RDL,RDLC資料的篩選是交由原本的程式處理,學習曲線較短。
  • 免費(本機模式)。
  • 匯出檔案格式較少
    • ReportView   9.0=>Excel、PDF
    • ReportView 10.0=>Exel、PDF、Word
  • 報表檔儲存與管理由各系統個別處理。
  • 無快取及訂閱功能。
  • 設計階段無法預覽報表。

相關參考
將 RDLC 檔轉換為 RDL 檔
SQL Server 2008 R2 Reporting Services報表服務 尹相志、胡百敬 著

沒有留言:

張貼留言