IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)數(shù)據(jù)庫(kù)MSSQL → 用MS SQL Reporting Services生成報(bào)表

用MS SQL Reporting Services生成報(bào)表

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

本頁(yè)內(nèi)容

Reporting Services 概述

設(shè)計(jì)第一個(gè)報(bào)表

部署和測(cè)試

將報(bào)表添加到 Web 應(yīng)用程序

將報(bào)表嵌入到 Web 應(yīng)用程序中

保證報(bào)表的安全

使用 Reporting Services Web 服務(wù)

訂閱報(bào)表

接下來(lái)該怎么做?

靈活的報(bào)表功能是大多數(shù)業(yè)務(wù)應(yīng)用程序的一個(gè)要求,這些報(bào)表功能在集成到 Web 應(yīng)用程序中之后用途更加廣泛.利用 sql server® 2000 Reporting Services 的最新版本,您可以輕松地具有來(lái)自各種數(shù)據(jù)源的報(bào)表生成功能.在本文中,我將介紹使用 visual studio® 和 Reporting Services 來(lái)編寫報(bào)表,并演示如何將報(bào)表集成到 Web 應(yīng)用程序中.

Reporting Services 是基于服務(wù)器的報(bào)表生成平臺(tái),該平臺(tái)構(gòu)建在 .net framework 上并與 SQL Server 2000 集成在一起,因此您可以使用一個(gè)擴(kuò)展的基于 Web 服務(wù)的 API 將豐富的報(bào)表生成功能集成到應(yīng)用程序中.盡管報(bào)表服務(wù)器使用 SQL Server 作為報(bào)表的儲(chǔ)存庫(kù),但利用 OLE DB、ODBC 或 ADO.NET 提供程序的任何數(shù)據(jù)源都可以用來(lái)為報(bào)表提供數(shù)據(jù),這就使得 Reporting Services 成為在各種企業(yè)環(huán)境中生成報(bào)表的極佳工具.

Reporting Services 是作為 SQL Server 2000 的一部分而授權(quán)的,因此如果您有已授權(quán)的 SQL Server 的副本,則可以在同一服務(wù)器上運(yùn)行 Reporting Services 而無(wú)需支付額外的許可證費(fèi)用.如果您決定在獨(dú)立的、尚未經(jīng) SQL Server 授權(quán)的計(jì)算機(jī)(例如,Web 服務(wù)器)上運(yùn)行 Reporting Services,您將需要購(gòu)買額外的 SQL Server 許可證.

要開始使用 Reporting Services,您可以下載位于 SQL Server 2000 Reporting Services 的 120 天試用版軟件,它還包括有關(guān)如何獲得該產(chǎn)品的安裝媒體的說(shuō)明.在安裝該產(chǎn)品時(shí),請(qǐng)確保選中包括示例報(bào)表的選項(xiàng),因?yàn)槲乙獙⑦@些報(bào)表集成到本文的 Web 應(yīng)用程序中.

Reporting Services 概述

Reporting Services 報(bào)表設(shè)計(jì)使用新的 Visual Studio .NET 2003 報(bào)表設(shè)計(jì)器,在安裝有 Visual Studio 的同一計(jì)算機(jī)上安裝啦 Reporting Services 后,該設(shè)計(jì)器就可以使用.設(shè)計(jì)器以新的基于 XML 報(bào)表定義語(yǔ)言 (RDL) 輸出報(bào)表布局和數(shù)據(jù)訪問(wèn)的說(shuō)明,而 RDL 文件會(huì)發(fā)布到報(bào)表服務(wù)器.如果您希望為用戶提供創(chuàng)作功能,也可以使用第三方的報(bào)表設(shè)計(jì)器.

管理員可以使用基于 Web 的報(bào)表管理器來(lái)管理已發(fā)布的報(bào)表,并且可以執(zhí)行一些任務(wù),例如,保證某些用戶組報(bào)表的安全或更改已部署報(bào)表的數(shù)據(jù)源連接字符串.用戶也可以使用報(bào)表管理器來(lái)瀏覽和查看報(bào)表;但是很多公司傾向于使用 URL 請(qǐng)求或 Reporting Services Web 服務(wù),將報(bào)表查看直接集成到它們現(xiàn)有的內(nèi)部 Web 站點(diǎn)或應(yīng)用程序中.

 

點(diǎn)此在新窗口瀏覽圖片

 

圖 1 Reporting Services 體系結(jié)構(gòu)

可以將報(bào)表參數(shù)化,這樣用戶可以在查看報(bào)表時(shí)從選擇列表中進(jìn)行挑選;它們還可以導(dǎo)出為多種格式,例如,Microsoft®excel、PDF 和 XML.盡管實(shí)時(shí)報(bào)表提供最新的數(shù)據(jù),也可以將報(bào)表緩存一段時(shí)間以提高性能并減少數(shù)據(jù)源上的負(fù)載.對(duì)于商務(wù)智能應(yīng)用程序,報(bào)表可以訪問(wèn) Analysis Services OLAP 多維數(shù)據(jù)集,而且 Reporting Services 甚至可以導(dǎo)入現(xiàn)有的 Microsoft access 報(bào)表,盡管由于這兩種技術(shù)間存在差異,它并不能支持所有的 Access 功能.有關(guān) Reporting Services 體系結(jié)構(gòu)的詳細(xì)情況,請(qǐng)參見圖 1.

設(shè)計(jì)第一個(gè)報(bào)表

盡管我介紹的重點(diǎn)在于將報(bào)表集成到應(yīng)用程序中而不是創(chuàng)作報(bào)表,但熟悉 Reporting Services 的最好辦法就是立即著手創(chuàng)建一個(gè)新的報(bào)表項(xiàng)目.為此,請(qǐng)打開 Visual Studio 并使用 Report project Wizard 創(chuàng)建一個(gè)新的項(xiàng)目,該向?qū)挥?Business Intelligence Projects 部分.為您的項(xiàng)目指定一個(gè)名稱,單擊OK,然后將顯示報(bào)表向?qū)?duì)話框.在您選擇數(shù)據(jù)源的這一步驟中,單擊Edit按鈕,以便指定連接到您數(shù)據(jù)庫(kù)服務(wù)器上的 AdventureWorks2000,單擊OK,然后選中使其成為共享數(shù)據(jù)源的選項(xiàng).

單擊Next進(jìn)入到Design the Query步驟,指定簡(jiǎn)單的 SQL 語(yǔ)句(例如,SELECT * FROM Product),然后單擊Next.Reporting Services 支持顯示一組固定列的標(biāo)準(zhǔn)表格式 (Tabular) 報(bào)表,也支持使用帶有動(dòng)態(tài)列的交叉表樣式視圖的矩陣式 (Matrix) 報(bào)表,因此為該報(bào)表選擇 Tabular,然后單擊Next.

將某些列(例如,ProductID 和 Name)拖到 Details 部分并單擊Next.選擇默認(rèn)的 Bold 樣式,單擊Next,然后指定您的報(bào)表服務(wù)器的虛擬目錄的 URL,例如,https://MyServer/ReportServer.現(xiàn)在,單擊Next.最后一步,您可以為您的第一個(gè)報(bào)表指定名稱,例如,Products Report;然后單擊Finish.

該向?qū)?huì)創(chuàng)建該項(xiàng)目,同時(shí)還創(chuàng)建一個(gè)可以由多個(gè)報(bào)表共享 AdventureWorks2000 數(shù)據(jù)源,以及一個(gè)在設(shè)計(jì)器中打開的有關(guān) Products 數(shù)據(jù)的報(bào)表(請(qǐng)參見圖 2).默認(rèn)情況下,顯示使您可以修改報(bào)表設(shè)計(jì)的 Layout 選項(xiàng)卡.

 

點(diǎn)此在新窗口瀏覽圖片

 

圖 2 Visual Studio 報(bào)表設(shè)計(jì)器

Data 選項(xiàng)卡用于指定報(bào)表的查詢,包括設(shè)置參數(shù)以便在執(zhí)行報(bào)表時(shí)提示用戶提供值.單擊Preview選項(xiàng)卡來(lái)測(cè)試報(bào)表顯示給用戶的方式.

現(xiàn)在,您可以將附加的報(bào)表添加到該項(xiàng)目,或者通過(guò)添加附加列、將數(shù)據(jù)分組、添加匯總、甚至是添加能夠顯示來(lái)自其他查詢的數(shù)據(jù)的附加表來(lái)修改 Products 報(bào)表.與很多報(bào)表設(shè)計(jì)器不同,Reporting Services 使用帶外設(shè)計(jì),這使得它可以輕松地創(chuàng)建將各種源的數(shù)據(jù)集中在同一個(gè)位置的報(bào)表.

您剛剛創(chuàng)建的報(bào)表項(xiàng)目由當(dāng)前駐留在您的開發(fā)計(jì)算機(jī)上的一組文件組成.為啦將這些報(bào)表發(fā)布給用戶,您需要將該項(xiàng)目部署到報(bào)表服務(wù)器.

部署和測(cè)試

在部署報(bào)表項(xiàng)目之前,需要指定將項(xiàng)目部署到哪一個(gè)服務(wù)器.如果您最初使用該向?qū)?chuàng)建啦報(bào)表項(xiàng)目,那么您可能已經(jīng)指定啦目標(biāo)服務(wù)器.

要檢查該設(shè)置或指定一個(gè)新服務(wù)器,請(qǐng)選擇Project | Properties來(lái)顯示 Project Properties 對(duì)話框.進(jìn)行該設(shè)置使您可以指定項(xiàng)目的文件夾名和 Reporting Services Web 服務(wù)的 URL.在菜單上選擇Build | Deploy Solution將構(gòu)建報(bào)表項(xiàng)目,然后將其部署到服務(wù)器.

在部署報(bào)表項(xiàng)目后,您就可以進(jìn)行測(cè)試?yán)?已部署到服務(wù)器的每個(gè)報(bào)表都具有唯一的路徑,該路徑可以用于在瀏覽器中顯示報(bào)表.例如,要顯示您創(chuàng)建的第一個(gè)報(bào)表,請(qǐng)打開瀏覽器并導(dǎo)航到 https://MyServer/ReportServer?/Report+Project1/Products+Report.這會(huì)以 HTML 格式呈現(xiàn)報(bào)表并在頁(yè)面的頂端顯示一個(gè)工具欄,以便使您可以對(duì)報(bào)表進(jìn)行翻頁(yè)、更改縮放比例,甚至以各種其他格式(例如,PDF)查看報(bào)表.

您還可以通過(guò)導(dǎo)航到服務(wù)器上的以下 URL,來(lái)瀏覽已部署到服務(wù)器的所有報(bào)表項(xiàng)目的列表:https://MyServer/ReportServer.報(bào)表服務(wù)器提供使您可以查看已部署的報(bào)表類型和查看報(bào)表的最小的用戶界面.

報(bào)表管理器是一個(gè)更加友好、功能更豐富的工具,可以通過(guò)簡(jiǎn)單地導(dǎo)航到本地服務(wù)器上的以下 URL 來(lái)訪問(wèn)該工具:https://MyServer/Reports.

將報(bào)表添加到 Web 應(yīng)用程序

既然您知道如何設(shè)計(jì)、部署和測(cè)試報(bào)表,就讓我們將這些報(bào)表集成到應(yīng)用程序中吧!很多 Web 應(yīng)用程序都包括針對(duì)每個(gè)用戶的自定義主頁(yè),通常稱為儀表板.這個(gè)頁(yè)面通常提供針對(duì)用戶量身定做的摘要式信息并作為跳轉(zhuǎn)點(diǎn)來(lái)訪問(wèn)應(yīng)用程序的其他功能.

我將使用 Reporting Services 附帶的示例報(bào)表構(gòu)建一個(gè)儀表板來(lái)演示報(bào)表集成,如圖 3 所示.如果您在安裝過(guò)程中安裝啦示例報(bào)表,您可以打開該報(bào)表項(xiàng)目(安裝到 \Reporting Services\Samples\Reports)并將其部署到測(cè)試服務(wù)器.您可以使用報(bào)表管理器工具通過(guò)瀏覽到 SampleReports 文件夾來(lái)測(cè)試示例報(bào)表.

 

點(diǎn)此在新窗口瀏覽圖片

圖 3 儀表板 Web 應(yīng)用程序

為用戶提供從應(yīng)用程序訪問(wèn)報(bào)表的權(quán)限的最簡(jiǎn)單方法就是使用超級(jí)鏈接.如您已經(jīng)看到的那樣,每個(gè)報(bào)表都具有唯一的、用于在瀏覽器中顯示報(bào)表的路徑.對(duì)于儀表板應(yīng)用程序,報(bào)表應(yīng)該在單獨(dú)的窗口中打開,因此我將為該超級(jí)鏈接指定一個(gè)目標(biāo).到目前為止,這是非常簡(jiǎn)單的,但是對(duì)于具有參數(shù)報(bào)表的報(bào)表(例如,Employee Sales Summary 報(bào)表)來(lái)說(shuō),情況又如何呢?要真正地將報(bào)表集成到應(yīng)用程序中,您通常需要為參數(shù)指定某些值,以便用戶不會(huì)被經(jīng)常提示.

Reporting Services 使這項(xiàng)任務(wù)非常簡(jiǎn)單:報(bào)表參數(shù)的值可以指定為 URL 的一部分.例如,Employee Sales Summary 報(bào)表具有 ReportYear、ReportMonth 和 EmpID 參數(shù),因此顯示編號(hào)為 24 的員工在 11 月份的銷售額的超級(jí)鏈接可以是:

<a href=https://MyServer/ReportServer?/SampleReports/Employee Sales    Summary&ReportMonth=11&EmpID=24 target=_blank>November Sales Summary</a>

不具有

關(guān)鍵詞標(biāo)簽:生成,報(bào)表,使用,可以,

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟sql server系統(tǒng)表?yè)p壞的解決方法sql server系統(tǒng)表?yè)p壞的解決方法MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶Access、SQL Server、Oracle常見應(yīng)用的區(qū)別Access、SQL Server、Oracle常見應(yīng)用的區(qū)別

相關(guān)下載

人氣排行 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫(kù)配置和注冊(cè)O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程SQL2000數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù)SQL2000和SQL2005數(shù)據(jù)庫(kù)服務(wù)端口查看或修改SQL Server 2005降級(jí)到2000的正確操作步驟修改Sql Server唯一約束教程淺談JSP JDBC來(lái)連接SQL Server 2005的方法SQL Server創(chuàng)建表語(yǔ)句介紹