摘 要:描述了基于SQL Server Reporting Services的報表平臺的分析和設計方法。主要分析了其特點,然后設計了一個基于Reporting Services的集成報表平臺。并給出了最后的集成效果。
關鍵詞:報表;Reporting Services;平臺分析
中圖分類號:TP311 文獻標識碼:A 文章編號:2095-1302(2014)07-0058-03
0引言
Microsoft SQL Server Reporting Services 是一種基于服務器的新型報表平臺,可用于創建和管理包含來自關系數據源和多維數據源的數據表格報表、矩陣報表、圖形報表和自由格式報表。同時可以通過基于 Web 的連接來查看和管理創建的報表。
1SQL Server Reporting Services的特點
SQL Server Reporting Services主要有兩個特點。第一是Reporting Services具備完善的訪問異種數據庫系統的功能。報表平臺需要從不同的系統平臺中抽取數據,而SQL Server Reporting Services可通過OLE DB訪問其它類別的數據庫,對于報表平臺來說,這是最基本、也是最重要的一個功能需求。通過它可以方便的從各個不同的應用平臺進行數據的抽取,而不用再單獨購買其它的數據轉換工具;第二是其報表格式、查看方式多樣,符合日常報表使用習慣。報表除了打印的需求外,也需要轉換為Excel電子表格、HTML、XML、Word、PDF等不同的格式電子文檔,以方便傳遞、保存、存檔。SQL Server Reporting Services可以通過SOAP、Web、特定終端等多種方式訪問,同時報表格式的兼容性方面SQL Server Reporting Services非常完善,可以解決目前報表提取工作所面臨的困難。
2Reporting Services報表平臺的設計
2.1總體設計
圖1所示是本設計的報表體系架構的結構圖。
報表體系架構的設計主要從兩方面考慮:一方面是應當支持遠程Report Server服務器的報表文件和項目內嵌的報表文件,同時支持兩種方式的發布;另一方面,從靈活性上面考慮,通過報表配置,支持在應用程序中加載擴展的報表,也支持只加載部分已定義的報表。所以報表體系架構應分為三個部分。
圖1報表體系架構
第一部分是報表配置,支持開發人員和實施人員通過可視化的界面,配置系統的各個模塊的報表,可以動態定義使用和不使用標準的報表,支持實施人員可以動態加載新報表。
第二部分是報表引擎,也是報表體系架構的核心,主要完成以下四個功能:
(1)通過配置的報表的編碼,獲取配置的報表信息;
(2)從配置的報表信息中獲取報表的文件,支持本地項目的報表文件和遠程Report Server的報表文件;
(3)通過配置報表的參數,與應用程序的上下文獲取參數的值;
(4)主要針對本地項目的報表文件,初始化報表的數據源,支持從數據庫、程序集和Web服務中獲取數據,并與報表模板結合展現數據。
第三部分是報表界面組件,支持與界面集成,展現數據。并支持報表的打印和導出。
2.2詳細設計
詳細設計主要是完成報表控制器的設計,建立報表頁面與報表服務器之間的橋梁,本文主要介紹通過ASP.NET MVC來設計報表引擎。
首先需要在Web.config文件中添加配置節,以配置報表服務器路徑。
在
在
在
preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
第二,則是在Shared目錄中,新建ReportViewer.aspx頁面源代碼:
<%@ Page Language=”C#” Inherits=”System.Web.Mvc.ViewPage
<%@ Import Namespace=”OT.Core” %>
<%@ Import Namespace=”OT.HCS.Common.Report” %>
<%@ Register Assembly=”Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
Namespace=”Microsoft.Reporting.WebForms” TagPrefix=”rsweb” %>
客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com
電信與信息服務業務經營許可證:京icp證060024號
Dragonsource.com Inc. All Rights Reserved