日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server Reporting Services(简称SSRS)

發(fā)布時間:2024/6/14 数据库 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server Reporting Services(简称SSRS) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

主要說說關于SSRS的安裝、部署和配置問題。

SSRS的安裝

Reporting Services作為SQL Server的一個組件,自然是要伴隨SQL Server一起安裝了。目前SQL Server 的諸多版本,只有Enterprise和Development版本有著對SSRS的完全支持,Standard版本提供了大部分支持,具有高級功能的Express版只支持一些最基本的功能(不含設計器)。因此,在企業(yè)部署的時候應該選用Enterprise版,作為開發(fā)者應選擇Development版。

在安裝SQL Server的過程中選中Reporting Services的相關組件,或者更改一個SQL Server的安裝以添加SSRS都是可行的。

注意上面說的是服務器端的安裝。SQL Server 2005 Development Edition的組件分為服務器和工作站兩個部分。在安裝完服務器端的相關組件后,還需要在進行開發(fā)的機器(可以就在服務器上,也可以是另外的工作站)安裝工作站組件。其中的Business Intelligence Development Studio必須安裝,這是一個Visual Studio 2005的擴展,如果機器已經(jīng)安裝過VS2005,那它就會直接將BI的開發(fā)模板集成進 VS中,如果沒有裝過,那它則會自動替你安裝一個VS2005外殼(沒有C#、VWD等組件)。

SSRS在服務器端的配置

服務器端配置SSRS有兩種方法,一是通過SQL Server Management Studio,登錄到Server進行操作;二是通過web訪問服務器的Report Manage頁面,比如http://IP/Reports。兩種方法在功能上略有差別,具體操作過程可以查看相關文檔。

這一部分來討論一下SSRS的一些基本功能,即報表的建立、發(fā)布和引用。

創(chuàng)建報表

設計環(huán)境

報表設計環(huán)境就是那個Business Intelligence Development Studio,以下簡稱BI。如果項目是在VS2005下進行的,那么就非常方便了,因為可以在一個Solution里像添加普通Project一樣來添加BI的工程。事實上我們也是這么做的。

報表創(chuàng)建的基本步驟

在正式開始利用BI開發(fā)SSRS之前,強烈建議大家把隨機附帶的Book Online里的相關教程全部手動完成一遍。

總的來說,一個報表的設計可以歸納為下面的步驟:
創(chuàng)建報表工程
建立數(shù)據(jù)源(Data Source,rds文件),這是報表與數(shù)據(jù)庫進行通信的橋梁;
創(chuàng)建數(shù)據(jù)集,也就是報表的數(shù)據(jù)來源,報表從數(shù)據(jù)集獲取數(shù)據(jù),并不直接訪問數(shù)據(jù)庫;
進行頁面布局(layout)
預覽結果(preview),并根據(jù)結果進行進一步修改,直到完全滿足要求

報表的發(fā)布

設計完報表之后,就要將其發(fā)布到Reporting Services服務中,以供調用。我們可以把這個發(fā)布稱作deploy。

經(jīng)過實際應用,發(fā)現(xiàn)可以有下面三種方法來進行報表的發(fā)布

在BI中編譯發(fā)布

我們設計報表是在BI中進行的,可以利用它來一次性將整個報表工程deploy到服務器上。大致步驟如下:
菜單執(zhí)行Project->Properties,將Configuration改為Production,即編輯Production模式的參數(shù);
在右邊分別填入相應的屬性值,一般來說TargetDataSourceFolder的內容Data Sources不變,如果數(shù)據(jù)源有更新,那么就必須將上面的OverwriteDataSources設為True;
設置TargetReportFolder。這個值是在Report Server中的一個虛擬目錄,該工程的所有rdl文件都將存放在這個目錄下;
設置TargetServerUrl。這里就是Reporting Services所在的URL地址,比如本地部署可以用http://localhost/ReportServer。注意后面的那個路徑是默認的安裝路徑,在IIS中打開默認站點后可以看到它,是一個虛擬目錄;
都填寫完畢之后,在編譯環(huán)境中切換編譯模式為Deploy,再Start Debugging,這時BI就會自動向Report Server部署這一系列的報表。

完了之后會顯示http://localhost/ReportServer這個頁面,在這個頁面中顯示的就是該報表服務器上所有的ReportFolder,而報表則會按照deploy時的設置,分別保存在這些folder內。進入Folder之后,點擊報表即可查看,系統(tǒng)已經(jīng)為我們生成了一個帶有ReportViewer的aspx頁面。

通過Web下的Report Manager

下面這兩種方法均是用來管理報表服務器,發(fā)布報表只是它們的一部分功能。

使用Report Manager的大致步驟如下:
打開Report Manager的頁面,一般為http://ServerUrl/Reports;
進入Data Sources文件夾,上傳數(shù)據(jù)源的rds文件;
回到根文件夾,建立一個ReportFolder,名稱即TargetReportFolder中的值;
進入該文件夾,把rdl文件逐一上傳,它會自動給報表起名,一般接受默認值。

這樣就OK了,之后也可以在ReportServer頁面下查看內容。

通過SQL Server Management Studio

在SQL Server的配置中,這個工具無疑是最強大的。在登錄SSMS的時候,選擇Server Type為Reporting Services,然后指定Server的名稱,以及登錄方式。登錄成功后,在Home目錄下就是我們在Report Manager中看到的內容,后面的操作大同小異,就不浪費文字了。

利用ReportViewer控件引用報表

建立、發(fā)布報表的最終目的還是為了在程序中引用它們,在此我們選擇的是最簡單的方法——使用ReportViewer控件。

WinForm環(huán)境下的ReportViewer

WinForm下的ReportViewer控件,位于Microsoft.Reporting.WinForms命名空間下,在VS2005中默認會出現(xiàn)在ToolBar中,直接將其拖放進窗體即可對其操作。

一般來說,所有報表都必須設置的參數(shù)有以下幾個:
ProcessingMode:這個屬性用來設置ReportViewer的數(shù)據(jù)來源是本地還是遠程,在這里我們設為Remote;
ServerReport.ReportServerUrl:就是我們前面看到的TargetServerUrl,即報表服務器的URL地址。注意這個地址包含了“ReportServer”,比如http://ServerUrl/ReportServer這樣;
ServerReport.ReportPath:是ReportFolder和ReportName的組合,比如“/Test/Report1.rdl”,注意注意千萬注意,最開始的那個“/”一定不能省略!

對于實際應用,采用代碼來控制ReportViewer要比設計時設置屬性更加常用,下面就是一個簡短的例子,概括了這樣一個過程:

this.reportViewer1.ServerReport.ReportPath = "/Test/Report1"; List<ReportParameter> parameters = new List<ReportParameter>(); parameters.Add(new ReportParameter("params",textQueryString.Text)); this.reportViewer1.ServerReport.SetParameters(parameters); this.reportViewer1.ShowParameterPrompts = false; this.reportViewer1.RefreshReport();

在上面的過程中,先是設置ReportPath(ReportServerUrl在本示例中已經(jīng)指定,實際上應該通過App.config的設置字符串來設置)。然后創(chuàng)建報表參數(shù)列表(這個params的名稱是在設計報表的時候設置的報表參數(shù),在SQL語句中通過@params進行引用),進而調用ServerReport的SetParameters方法,將參數(shù)傳遞給報表。緊接著,將報表的ShowParameterPrompts屬性設為false,即不在ReportViewer的頭部顯示參數(shù)輸入提示。最后執(zhí)行RefreshReport()方法,刷新報表頁面。

ASP.NET環(huán)境下的ReportViewer

微軟的統(tǒng)一性工作無疑是相當出色的,Web下的ReportViewer在使用起來與WinForm下完全相同,唯一不同的就是控件位于Microsoft.Reporting.WebForms下,而諸如ReportParameter等類也改為此命名空間之下。在代碼控制報表方面,不需要進行改動即可移植。

Visual WebGUI下的ReportViewer

在項目中,我們是采用VWG來作為程序的框架的。Gizmox開發(fā)團隊也為ReportViewer設計了相應版本,控件位于Gizmox.WebGUI.Reporting命名空間下,但要注意,它的屬性諸如ReportParameter、ProcessingMode等仍然是位于Microsoft.Reporting.WebForms下的,這一點不要搞錯。

直接通過ReportServer訪問報表

還記得前面提到過的http://ServerUrl/ReportServer嗎?SSRS已經(jīng)為我們準備了一個用來查看報表的方法,即通過URL訪問,比如要查看在localhost/ReportServer服務器中,位于Test下的Report1報表,可以直接在瀏覽器中輸入 http://localhost/ReportServer?Test/Report1,SSRS會自動調用一個系統(tǒng)內置的頁面來顯示它。在這個帶參數(shù)的URL后面,我們可以通過附加URL參數(shù)的方法來對報表進行控制。比如上面的那個例子,在ASP.NET中可以使用Response.Write()向頁面寫入下面的代碼來彈出窗口顯示報表:

"<script language=/"JavaScript/"> window.open('http://localhost/ReportServer?Test/Report1&params=" + textQueryString.Text + "&rc:Parameters=false&rs:Command=Render'; </script>"

其中URL參數(shù)的構造方法請參閱MSDN相關文檔。

上面說的都是常規(guī)應用,但實際上一個報表從提出需求到最后部署,絕大部分都不是會了那個示例就能做的,中間會遇到各種各樣的問題。在這一部分中,我以問答的形式,將開發(fā)過程中遇到的問題以及解決方法分門類地列舉出來,并且不斷更新。

部署與調試
Q:我在ASP.NET下使用ReportViewer載入報表,為什么會出現(xiàn){用戶“NT AUTHORITY/NETWORK SERVICE”授予的權限不足,無法執(zhí)行此操作。 (rsAccessDenied)}的錯誤?
A:這是由于IIS下ReportServer虛擬目錄的訪問權限沒有設置正確。解決問題的方法有三種:
在服務器端訪問http://localhost/Reports,進入Report Manager,然后點擊“屬性”標簽頁下的“新建角色分配”,在“組或用戶名”中填入“NT AUTHORITY/NETWORK SERVICE”(沒有兩邊的引號),在下面勾選Browser,確定。這是給該賬戶賦以瀏覽報表的權限,我強烈推薦這種方法;
在IIS中,修改默認站點下ReportServer虛擬目錄的屬性,在Directory Security選項卡中,點擊Authentication and access control中的Edit,開啟匿名訪問,將匿名訪問帳戶設為管理員賬號,本地登錄的就設為Administrator,域賬號登錄的就設為具有管理員權限的域賬號。這樣可以使訪問ReportServer的連接以管理員權限瀏覽報表。這也是網(wǎng)上流傳最廣的方法,但存在嚴重安全隱患,開發(fā)調試的時候沒問題,真正部署的時候不建議使用;
專門為Reporting Services建立一個匿名帳戶,比如IUSR_ReportView,然后在Report Manager里分配Browser角色,還有等等后續(xù)步驟。這是最麻煩的,步驟之多我都懶得在這里寫全,同樣在網(wǎng)上流傳很廣,但我覺得只有實在閑著沒事干的人才會用。。。

Q:我在Visual Studio里開發(fā)VWG,以debug方式運行,然后在ReportViewer導出PDF時就報Session Expired錯誤,這是怎么回事?
A:其實我也不知道為什么。。。解決的方法是不用debug方式,直接在瀏覽器訪問站點,就OK了。至于其原因,呼喚高人來解釋~~~


報表數(shù)據(jù)相關
Q:我現(xiàn)在不僅僅想向報表傳遞傳統(tǒng)的SQL參數(shù),比如@ID、@Count,而是想整條WHERE子句以至整個SQL語句的任何地方都可以用參數(shù)的形式來控制,可以嗎?
A:當然可以,這都不行那SSRS也太[]

/r/n/n本文來自CSDN博客,轉載請標明出處:http://www.flatws.cn/article/program/sql-server/2010-08-25/9965.html

轉載于:https://www.cnblogs.com/zziss/archive/2012/11/07/2758295.html

總結

以上是生活随笔為你收集整理的SQL Server Reporting Services(简称SSRS)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天爽网站 | 非洲黄色片 | 影音先锋啪啪资源 | 亚洲综合一二三 | 午夜日韩福利 | 激情福利社 | 国产又粗又猛又爽又黄的 | 大黄网站在线观看 | 久久二 | 亚洲成av人片在www色猫咪 | 男女在线视频 | 亚欧三级 | 一级黄色短视频 | av在线日韩 | 光棍影院一区二区 | 韩日少妇| 欧美亚洲另类视频 | 日日操夜夜摸 | 国产手机精品视频 | 强侵犯の奶水授乳羞羞漫虐 | 国产精品96久久久久久 | 亚日韩在线 | 国产偷亚洲偷欧美偷精品 | 欧美性久久久久 | 嫩色av| 四虎网站在线播放 | 久久青 | 丁香五香天堂网 | 国产乱性 | 视频在线观看一区二区 | www.avcao| 亚洲免费观看在线 | 无码国产精品高潮久久99 | 五月深爱婷婷 | 性欧美bbw | 久久久久久久久久免费 | 亚洲欧美日韩精品一区 | 久久99九九 | 中国在线观看免费高清视频播放 | 尹人av| 欧美a视频 | 最近国语视频在线观看免费播放 | 亚洲啪啪网 | 黄色av免费播放 | 欧美私人情侣网站 | 钻石午夜影院 | av片在线免费观看 | 99视屏 | 欧美日韩黄色 | 亚洲污网站 | 免费看女生裸体视频 | 都市激情一区 | 妹子干综合网 | 黄视频在线免费看 | 欧美色妞网 | 精品福利三区3d卡通动漫 | 中国成熟妇女毛茸茸 | va在线视频 | 国产色| 久久高清无码电影 | 国产农村老头老太视频 | 亚洲一卡二卡 | 日韩中文字幕视频 | www.五月婷婷.com | 黄色大片网 | 欧美裸体视频 | 欧美在线一二 | 天堂av网手机版 | 日韩免费网站 | 免费毛片网站在线观看 | 337p日本欧洲亚洲鲁鲁 | 粉嫩av一区二区三区天美传媒 | 无码av免费精品一区二区三区 | 欧美做受视频 | 灌满闺乖女h高h调教尿h | 欧美成人一区二区三区片免费 | 亚州精品国产精品乱码不99按摩 | 日本女v片 | 91玉足脚交嫩脚丫在线播放 | 99视频一区二区 | 亚洲成av人片在线观看 | 色男天堂 | 福利精品在线 | 国产91在线播放九色 | 日本不卡一区二区在线观看 | 欧美www在线观看 | 黄色小说网站在线观看 | 日本三级黄色录像 | 青春草在线视频观看 | 99精品视频在线观看免费 | 日韩精品在线免费视频 | 亚洲国产欧美自拍 | 无码免费一区二区三区 | 久久在线一区二区 | www黄在线观看 | 中文字幕2021| 熟女毛毛多熟妇人妻aⅴ在线毛片 | 天堂在线中文在线 | 亚洲精品粉嫩小泬20p |