[摘 要] 針對中國報(bào)表復(fù)雜而需求各異的問題,本文分析了使用SQL Server 2008報(bào)表服務(wù)開發(fā)報(bào)表的優(yōu)勢,給出了實(shí)現(xiàn)基于Reporting Services企業(yè)報(bào)表的模型,應(yīng)用該模型開發(fā)了某企業(yè)報(bào)表系統(tǒng),使系統(tǒng)達(dá)到了無需計(jì)算機(jī)專業(yè)知識就可以定制報(bào)表的目標(biāo),同時(shí)驗(yàn)證了模型的合理性。
[關(guān)鍵詞] SQL Server 2008 報(bào)表服務(wù) 企業(yè)報(bào)表系統(tǒng)
一、引言
隨著企業(yè)管理系統(tǒng)的廣泛應(yīng)用,數(shù)據(jù)的產(chǎn)生與統(tǒng)計(jì)都由系統(tǒng)自動完成,要做出商業(yè)決策的人需要相關(guān)的信息,他們需要以適合他們角色和責(zé)任的方式來查看報(bào)表。因此,提供報(bào)表的人員除了考慮到報(bào)表的差異之外,還要兼顧每個(gè)不同報(bào)表的閱讀者的個(gè)別查詢參數(shù)或者呈現(xiàn)方式的不同需求。
SQL Server 2008報(bào)表服務(wù)(SSRS)是為企業(yè)報(bào)表提供解決方案的一款產(chǎn)品。該產(chǎn)品由報(bào)表服務(wù)器和報(bào)表設(shè)計(jì)器兩部分組成,用戶可以使用報(bào)表設(shè)計(jì)器直接定制報(bào)表,生成的報(bào)表在報(bào)表服務(wù)器上采用Web頁面的方式進(jìn)行發(fā)布。Reporting Services為克服制作報(bào)表困難提供了一個(gè)有力工具,可以緩解業(yè)務(wù)部門對IT部門的需求壓力,改善整個(gè)企業(yè)獲取信息的速度和質(zhì)量。
二、SQL Server 2008報(bào)表服務(wù)簡介
為了實(shí)現(xiàn)自定義報(bào)表,即用戶不必考慮數(shù)據(jù)的細(xì)節(jié)問題,只要知道同自己相關(guān)的業(yè)務(wù)術(shù)語,就可以使用Report Designer設(shè)計(jì)報(bào)表,這就要求系統(tǒng)設(shè)計(jì)人員將數(shù)據(jù)源生成數(shù)據(jù)模型。本文基于SQL Server 2008報(bào)表服務(wù)的設(shè)計(jì)自定義報(bào)表模型:1.根據(jù)企業(yè)的應(yīng)用需求確定報(bào)表表格的自定義參數(shù);2.對報(bào)表的數(shù)據(jù)處理,根據(jù)需求從數(shù)據(jù)庫中提取數(shù)據(jù),動態(tài)生成數(shù)據(jù)源;3.對Report View控件編寫代碼實(shí)現(xiàn)對SQL Server 2008報(bào)表服務(wù)的訪問。
下面分別介紹Reporting Services中的各部分功能,如:報(bào)表設(shè)計(jì)器、報(bào)表管理器、與報(bào)表服務(wù)器的主要特性。
1.報(bào)表設(shè)計(jì)。報(bào)表設(shè)計(jì)是報(bào)表的開發(fā)工具,集成在Microsoft Development Environment中,也是SQL Server 2008設(shè)計(jì)和管理工具使用的平臺,可以使用Business Intelligent Studio來設(shè)計(jì)和創(chuàng)建報(bào)表,它們都是開發(fā)環(huán)境的實(shí)現(xiàn)工具??梢灾苯邮褂肦eport Designer制作報(bào)表,產(chǎn)生的報(bào)表是符合XML規(guī)格的RDL文檔,再對完成的報(bào)表進(jìn)行部署。
2.報(bào)表管理器。報(bào)表管理器是一個(gè)基于Web的管理程序,提供了用戶級的報(bào)表訪問和配置安全性、訂閱、報(bào)表緩存和數(shù)據(jù)訪問的管理員功能,通過它可以瀏覽、訂閱、搜尋與管理Reporting Services產(chǎn)生的報(bào)表,設(shè)定各報(bào)表的相關(guān)參數(shù)的預(yù)設(shè)值,設(shè)定報(bào)表傳送相關(guān)使用者的權(quán)限等。
3.報(bào)表服務(wù)器。報(bào)表服務(wù)器是報(bào)表服務(wù)后臺的主要引擎。它的主要功能是處理和交付報(bào)表信息,是報(bào)表服務(wù)的真正核心。這個(gè)核心由五個(gè)主要部分組成:報(bào)表處理器、數(shù)據(jù)源擴(kuò)展、安全擴(kuò)展、顯示擴(kuò)展和交付擴(kuò)展。
三、SQL Server 2008報(bào)表服務(wù)的應(yīng)用
本系統(tǒng)通過基于角色的授權(quán)和Windows身份驗(yàn)證,確定哪些用戶可以在報(bào)表服務(wù)器上執(zhí)行操作和訪問。企業(yè)報(bào)表的設(shè)計(jì)、修改、部署和查詢都具有相應(yīng)的權(quán)限來控制。很多角色是在報(bào)表服務(wù)中預(yù)先定義的,可以添加用戶或Windows組到報(bào)表管理器中的角色中。例如,可以添加一個(gè)用戶到內(nèi)容管理器角色,這將給它足夠權(quán)限以管理報(bào)表服務(wù)器數(shù)據(jù)庫中的內(nèi)容。本系統(tǒng)劃分了如下角色:
1.系統(tǒng)管理員:該角色有權(quán)限管理報(bào)表服務(wù)器站點(diǎn)的安全和報(bào)表服務(wù)器任務(wù)。
2.站點(diǎn)用戶:該角色可以查看站點(diǎn)上的基本信息,包括報(bào)表屬性和共享定時(shí)。
3.瀏覽者:這個(gè)角色可以瀏覽報(bào)表并運(yùn)行它們。特定的權(quán)限包括:查看文件夾,查看報(bào)表,管理個(gè)人訂閱。
4.發(fā)布人員:用戶可以發(fā)布內(nèi)容給報(bào)表服務(wù)器數(shù)據(jù)庫。這個(gè)角色包括:管理文件夾,管理報(bào)表,管理數(shù)據(jù)源。
該系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)共享,把基于財(cái)務(wù)系統(tǒng)、工資系統(tǒng)、辦公自動化系統(tǒng)中的相關(guān)數(shù)據(jù)集中存放到企業(yè)綜合數(shù)據(jù)庫中;無需計(jì)算機(jī)專業(yè)知識就可以定制報(bào)表,企業(yè)各部門員工可以根據(jù)需要設(shè)計(jì)報(bào)表,不需要了解數(shù)據(jù)庫內(nèi)的數(shù)據(jù)細(xì)節(jié)。
四、結(jié)束語
用Reporting Servicing開發(fā)基于Web報(bào)表程序,很好地解決了報(bào)表的自定義、共享、發(fā)布等問題,也在Web中實(shí)現(xiàn)了報(bào)表的圖形顯示,并可基于多維數(shù)據(jù)集建立報(bào)表,同時(shí)結(jié)合數(shù)據(jù)倉庫技術(shù),把企業(yè)信息進(jìn)行了主題劃分,建立了數(shù)據(jù)立方,實(shí)現(xiàn)數(shù)據(jù)分析功能。
參考文獻(xiàn):
[1]齊 航:在應(yīng)用系統(tǒng)中整合Reporting Services[J].計(jì)算機(jī)與信息技術(shù),2006,6:76~78
[2]張迎彬 李曉鵬:淺談SQL Server Reporting Services會計(jì)報(bào)表解決方案[J].中國會計(jì)電算化,2004,3:47~48
[3]韓 敏 尤 楓 趙恒永:基于SQL2005的企業(yè)報(bào)表系統(tǒng)的研究與實(shí)現(xiàn)[J].電腦知識與技術(shù),2008,12:410~412
[4]陳傳波 黃 剛 劉清慧:一種基于ASP.NET的自定義報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2006,28(6):112~114
[5]張 龍:淺析SQL Server Reporting Services企業(yè)應(yīng)用[J].數(shù)字石油與化工,2007,12:36~38
[6]裴海橋 陳國旗:基于Web的高校財(cái)務(wù)管理信息系統(tǒng)報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2008,6:98~101
[7]Paul Turley.SQL Server 2005報(bào)表服務(wù)高級編程[M].謝文亮 譯.清華大學(xué)出版社,2007