999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SQL2005的企業報表系統的研究與實現

2008-12-31 00:00:00趙恒永
電腦知識與技術 2008年12期

摘要:介紹了SQL Server報表服務2005的特點,結合企業報表的需求,采用對RDL文件的修改和對報表服務的數據處理進行擴展的方法,給出了一個在VS環境下利用SQL Server2005中的Reporting Service 實現動態顯示Web自定義報表的例子。

關鍵詞:報表服務;SQL2005;報表參數;RDL

中圖分類號:TP391文獻標志碼:A文章編號:1009-3044(2008)12-20ppp-0c

The Research and Implementation of the enterprise Report System Based on SQL2005

HAN Min, YOU Feng, ZHAO Heng-yong

(College of Information Science and Technology, Beijing University of Chemical Technology, Beijing 10029, China)

Abstract:Introduced the characteristic of SQL Server 2005 reporting services. Integrate the demand of enterprise report, uses the method of modifying the RDL document and processing the data of reporting services, giving an example of using Reporting Service of SQL Server2005 to realize dynamic display Web user-defined report under the VS environment.

Key words:Report service; SQL2005; Report Parameter; RDL

1 引言

隨著Internet的發展,企業級應用軟件逐漸由C/S結構轉向B/S結構,企業管理信息系統正逐步由傳統的客戶端/服務器模式向Internet轉移,作為其輸出展現端,越來越多的報表將在Web 環境下開發和應用[1]。在企業級的報表解決方案中,不少開發人員采用集成于Visual Studio中的Crystal Report (水晶報表)工具實現,但水晶報表作為第三方開發組件,對其應用時需要編寫大量的程序且部署復雜。由于SQL Server的Reporting Services(報表服務)采用集中存儲和管理報表、設置策略以確保對報表及文件夾的安全訪問、控制處理和分發報表的方式,使在企業業務中使用報表的方式標準化,并且報表服務使報表的設計生成更加容易,具有和Visual Studio集成性好,易于部署,用戶的個性化設置靈活的特性,本文提出利用SQL 2005中的Reporting Service 實現企業報表系統的解決方案。

2 Reporting Service簡介

Reporting Services是微軟在2003年作為SQL Server2000產品套件的一部分發布的,2005年在SQL Server2005中進行了擴展。SQL Server報表服務是一種基于服務器的新型報表平臺,該平臺構建在 .NET Framework 2.0 上并與 SQL Server 2005集成在一起,可用于創建和管理包含來自關系數據源和多維數據源數據的表格報表、矩陣報表、圖形報表和自由格式報表,可以通過基于 Web 的連接來查看和管理創建的報表,可以使用一個擴展的基于 Web服務的 API 將豐富的報表生成功能集成到應用程序中,因此,Reporting Services 是在各種企業報表開發環境中生成報表的極佳工具。

2.1 RDL

SQL Server2005報表服務定義了一個XML標準RDL(報表定義語言),是一種公開的XML定義報表的格式,因此,可以通過直接編寫和修改RDL或者創建自定義工具生成相應的報表格式,滿足用戶對報表的自定義的需求,達到對報表服務的靈活性擴展。在SQL Server或VS2005環境中,可以使用圖形化的制作工具編輯RDL文件。

2.2 Reporting Service的報表設計工具

Reporting Service包括兩個報表設計工具:報表生成器和報表設計器。在企業級報表系統的應用中可針對不同的報表需求,選擇相應的報表設計工具。

報表生成器是一個發布在互聯網上的Windows客戶端應用程序,可以基于報表模型生成報表,報表生成器使用了智能客戶端技術,在不必了解基礎數據庫、報表定義及Reporting Service存儲報表的方式情況下,可以使用報表模型實時生成報表。

報表設計器是一種用于創建和發布報表定義的工具。通過報表設計器可以訪問所有報表定義功能。報表設計器提供了圖形化的設計界面,可以在其中定義數據源和查詢信息,利用其提供的報表項進行報表格式的設計,添加要顯示的數據源字段。在報表設計器中通過對相應的報表項設置不同數據來源參數的方式,實現用戶自定義報表格式和對報表數據的動態查詢。

2.3 報表管理器

在SQL Server2005報表服務中,報表管理器是包含于報表服務中的一個基于Web 的管理應用程序,它使用ASP.NET和Web 服務API的報表服務器的界面創建。報表管理器應用程序駐留在Web 服務器上并且為Web 瀏覽器訪問,為報表服務器數據庫中的內容提供一個管理界面,在報表管理中可以完成用戶對報表訪問的安全設置、站點設置、文件夾的處理、報表屬性設置及報表數據源的處理等應用。可以通過報表服務自身提供的報表服務器的URL訪問報表管理器頁面,實現企業級報表的Web 管理,也可以通過創建一個利用相同報表服務Web 服務API的應用程序來創建企業要求的自定義的報表管理器[2]。

3 企業報表系統的方案設計及實現原理

3.1 企業報表系統的實現技術。

為了滿足企業級Web 報表系統的性能需求,其技術方案如圖1所示:

3.2 企業報表系統實現原理

為了實現自定義報表,本文設計了基于ASP.NET 和SQL Server報表服務2005的Web 自定義報表模型:建立報表格式信息數據庫和報表數據信息數據庫,通過ADO.NET訪問數據庫。報表數據采用ADO.NET DataSet作為數據源綁定,根據SQL Server報表服務2005提供的數據處理接口在Visual Studio2005中編寫代碼實現數據集的動態綁定[3]。對SQL Server報表服務2005進行參數設置實現報表格式的自定義。首先,在根據企業的應用需求確定報表表格的自定義參數,即對報表服務的報表項(表、文本框、列表、圖像和矩形等)建立參數表;其次,對報表的數據處理進行擴展應用,根據查詢排序等設置從數據庫中提取數據,動態生成DataSet數據源,在ASP.NET中,將ado.net DataSet 動態綁定到報表顯示控件ReportView; 最后,在ASP.NET中,對ReportView控件編寫代碼實現對SQL 2005的報表服務的訪問。實現原理如圖2所示。下面結合實例講解企業自定義報表的實現。

3.3 報表格式的自定義

SQL Server報表服務2005的報表模板格式的自定義可以由以下兩種方式實現。第一種是在報表服務外部,通過XML文檔的修改實現報表的自定義,此方式對熟悉XML語言的用戶適用。第二種方式針對不熟悉報表開發環境的一般用戶,通過選擇相關報表格式參數的方式實現報表模板格式的自定義。

修改XML 文檔實現報表的自定義,可以在Visual Studio 環境下選擇SQL Server Business Intelligence Development Studio,通過創建報表項目在報表設計器窗體以圖形化界面的方式對報表模板進行定義,或者選擇報表向導的方式完成對報表模板的定義。由于定義報表的RDL文件是一個XML文檔,該XML文檔具有報表所有屬性的標記選項卡的標準定義,報表設計元素的屬性值可以用一個文本編輯器修改,因此可以在報表服務器外部通過修改編寫符合報表定義的XML文件或修改已有的XML文件的方式實現報表模板的自定義[4]。

修改報表格式參數實現報表格式的自定義,在定義報表時,可以對組成報表的報表項通過對ReportParameter屬性的操作,即對構成報表的文本框、表格、矩形、列表、圖像等進行相應得參數設置,這些參數可通過表達式設置,也可以通過查詢數據庫中的報表參數信息進行設置,從而實現用戶選擇相應的報表參數完成報表格式的自定義。

3.4 報表數據處理

在報表設計器中,通過對數據庫查詢設置報表數據集。區別于.NET中的數據集,報表服務中的數據集指一個查詢表達式或一個用于查詢數據庫中對象的引用,包括在報表的定義中。可以在定義數據集的查詢中設置參數,也可以在存儲過程中定義參數實現數據篩選,參數項可以由一個靜態列表或者一個數據驅動的查詢填充,從而實現用戶選擇不同的參數對報表的各種查詢顯示[5]。根據SQL Server報表服務2005提供的數據處理接口,通過ADO.NET訪問數據庫,報表數據采用ADO.NET DataSet作為數據源綁定,在Visual Studio2005中編寫代碼實現數據集的動態綁定。

3.5 報表的顯示輸出

SQL Server報表服務2005 能夠集成到不同的應用程序中,且具有不同的顯示報表的方法:使用URL來訪問報表,使用報表服務的Web服務以編程的方式顯示報表,使用ReportViewer控件顯示報表和使用SharePoint顯示報表。本文采用ReportViewer控件顯示報表的方式實現報表的顯示,該顯示方式可以完成在顯示頁面中的瀏覽、打印、保存、查詢、翻頁等功能。由于ReportViewer是客戶端控件,可以使用來自任何數據源的數據,既可在Windows窗體使用,也可在Web窗體使用,故根據企業報表顯示的需求,采用在Web 窗體使用ReportViewer實現報表的顯示輸出。首先,將定義好的報表添加到ASP.NET 應用程序中,打開Choose Toolbox Items檢查ReportViewer控件,將其添加到引用中。其次,在Web窗體上添加ReportViewer控件和其他輸出頁面進行交互的控件如標簽和下拉列表框等。最后,設置ReportViewer的ReportPath和ReportServerUrl屬性,并編寫相應代碼完成報表參數的傳遞,參數作為RportParameter對象數組來管理,報表參數通過傳遞給ServerReport對象的SetParameters方法的數組來填充。其部分代碼如下所示:

private void ViewReport()

{

string sReportServerURL = \"http://LocalHost/ReportServer\";

string sReportPath =\"/Professional SQL Reporting Services/enterprise report \";

Microsoft.Reporting.WinForms.ReportParameter[] Param;

Param[0] =newMicrosoft.Reporting.WinForms.ReportParameter

(\"OrderDateFrom\", this.dtOrderDateFrom.Value.ToString());

Param[1]

=newMicrosoft.Reporting.WinForms.ReportParameter

(\"OrderDateTo\",this.dtOrderDateTo.Value.ToString());

reportViewer1.ProcessingMode =

Microsoft.Reporting.WinForms.ProcessingMode.Remote;

reportViewer1.ServerReport.ReportServerUrl

= new Uri(sReportServerURL);

reportViewer1.ServerReport.ReportPath = sReportPath;

reportViewer1.ServerReport.SetParameters(Param);

reportViewer1.ShowParameterPrompts = 1;

reportViewer1.ShowPromptAreaButton = 1;

reportViewer1.RefreshReport();

}

4 結束語

本文提出的在.NET平臺下利用SQL Server2005中的報表服務實現企業報表系統的方案,滿足了企業對報表靈活設置參數實現對某些報表項的自定義和易于更新和維護的需求。該方案適用于在.NET 平臺下生成各類企業報表。由于SQL Server報表服務和SQL數據庫結合的緊密并且具有很好的擴展性,以及對企業商業智能(BI)的支持,可進一步從數據處理擴展、交付擴展、顯示擴展和安全擴展等領域延伸企業報表系統的應用。

參考文獻:

[1]張亞平、賀占莊,B/S架構下動態報表的一種實現方式[J],計算機技術與發展,2007,17(4):93-95,103.

[2]paul Truly 、謝文亮(譯),SQL Server2005報表服務高級編程[M],北京:清華大學出版社,2007.

[3]陳傳波、黃剛、劉清慧,一種基于ASP.NET的自定義報表的設計與實現[J],計算機工程與科學,2006,28(6):112-114.

[4]菅言彬,基于XML的Web智能報表的研究與實現[D],華北電力大學,2005.

[5]劉福軍、申永軍、劉杰、史維祥,存儲過程和OLE技術在報表設計中的應用[J],計算機與現代化,2003,(3):73-75,7.

收稿日期:2008-03-27

作者簡介:韓敏(1978-),女,內蒙古鄂爾多斯人,碩士研究生,主要研究領域為過程工業監測平臺;尤楓(1963-),男,遼寧沈陽人,碩士,講師,主要研究領域為信息安全技術、軟件開發自動化;趙恒永(1940-),男,河北保定人,教授,主要研究領域為企業實時信息系統平臺、生產過程控制、數據挖掘與智能決策。

主站蜘蛛池模板: 亚洲第一视频网| 九九热精品视频在线| P尤物久久99国产综合精品| 久久免费精品琪琪| 91九色最新地址| 综合色88| 日韩精品中文字幕一区三区| 99热最新在线| 国产精品欧美在线观看| 91小视频在线观看免费版高清| 国产日韩欧美中文| 欧美日本不卡| 亚洲成A人V欧美综合天堂| 欧美日韩中文国产| 亚洲大学生视频在线播放| 亚洲 欧美 中文 AⅤ在线视频| 新SSS无码手机在线观看| 超碰免费91| 国产日韩久久久久无码精品| 国产成人精品午夜视频'| 2020国产在线视精品在| 亚洲成人网在线观看| 精品少妇三级亚洲| 欧美一级99在线观看国产| 日韩高清中文字幕| 婷婷五月在线| 99热这里只有精品2| 粗大猛烈进出高潮视频无码| 亚洲侵犯无码网址在线观看| 久久大香香蕉国产免费网站| 亚洲一区二区三区国产精华液| 国产精品男人的天堂| 青青草欧美| 国产二级毛片| 人妻少妇乱子伦精品无码专区毛片| 3344在线观看无码| 国国产a国产片免费麻豆| 国产免费高清无需播放器| 欧美综合成人| 四虎成人精品| 中文毛片无遮挡播放免费| 国产不卡一级毛片视频| 久久香蕉国产线看观| 亚洲香蕉在线| 久久婷婷色综合老司机| 香蕉色综合| 激情国产精品一区| 91美女视频在线观看| 亚洲性网站| 啪啪国产视频| 国产成人精品第一区二区| 国产亚洲精品无码专| 久草视频福利在线观看| 久久综合色88| 九九九精品视频| 少妇极品熟妇人妻专区视频| 在线免费观看AV| 亚洲午夜片| 国产精品第| 国产91丝袜在线播放动漫 | 三上悠亚在线精品二区| 六月婷婷激情综合| 国模在线视频一区二区三区| 精品国产Ⅴ无码大片在线观看81| 午夜人性色福利无码视频在线观看| 小13箩利洗澡无码视频免费网站| 国产成年无码AⅤ片在线| 一级毛片在线播放| 久久伊人久久亚洲综合| 亚洲V日韩V无码一区二区| 国产精品原创不卡在线| 久久久久久久久亚洲精品| 免费AV在线播放观看18禁强制| 97se亚洲综合| 亚洲日韩国产精品综合在线观看| 免费看a级毛片| 尤物在线观看乱码| 911亚洲精品| 亚洲中文字幕久久无码精品A| 欧美精品v欧洲精品| 欧美日韩国产在线播放| 久久黄色免费电影|