SQL Azure Reporting CTP
http://blogs.msdn.com/b/azchina/archive/2011/02/18/sql-azure-reporting-limited-ctp-arrived.a
概念
SQL Azure Reporting 把云端報(bào)表作為服務(wù)來提供,構(gòu)建于SQL Server Reporting Services 和 SQL Azure 技術(shù)之上。諸如SQL Azure Reporting此類云端報(bào)表服務(wù)具有許多優(yōu)勢,包括快速服務(wù)提供,成本效益,拓展性,高可用性以及減少報(bào)表服務(wù)器的管理費(fèi)用,并能安全的訪問,查看和管理報(bào)表。SQL Azure Reporting?Service提供如下功能:
- § 在web應(yīng)用和桌面應(yīng)用中嵌入Visual Studio Report Viewer ADO.NET Ajax 控件或 Windows Form 控件來查看SQL Azure Reporting Service內(nèi)的報(bào)表。
- § 各類應(yīng)用都可以利用 SQL Azure Reporting SOAP API 來管理和獲取報(bào)表內(nèi)容。
- § 使用SQL Azure Reporting Service Portal。
因?yàn)?SQL Azure Reporting Service構(gòu)建于 SQL Server 2008 R2 Reporting Service之上,我們便可以使用熟悉的工具,例如SQL Server Integration Studio,Visual Studio Report Viewer等。SQL Azure Reporting Service其實(shí)是云端的遠(yuǎn)程 SQL Server Reporting Service。
?
創(chuàng)建一個(gè)新的SQL Azure Reporting
打開Windows?Azure 開發(fā)者門戶,點(diǎn)擊左側(cè)導(dǎo)航欄的?Reporting 項(xiàng)。(如果還沒有激活碼, Sign Up 按鈕來發(fā)送申請。)點(diǎn)擊Provision 按鈕。
選擇同意服務(wù)條款,選擇訂購方式。此處我選擇Windows Azure Pass 訂購方案。
?
最后一部,復(fù)制邀請碼,輸入SQL Azure Reporting Service的密碼。用戶名會(huì)自動(dòng)生成。
稍等之后,新的 SQL Azure Reporting Server以及Reporting Service URL 和用戶名都會(huì)顯示在門戶上。通過工具欄按鈕可以重置密碼。.
?
將報(bào)表部署至SQL Azure Reporting
如果您熟悉SQL Server Reporting Service,那么您會(huì)發(fā)現(xiàn)本章與本地的報(bào)表服務(wù)非常類似。首先,打開SQL Server Business Intelligence Development Studio ,創(chuàng)建新的Report Server Project。
創(chuàng)建一個(gè)共享數(shù)據(jù)源,報(bào)表數(shù)據(jù)便會(huì)從該數(shù)據(jù)源獲取。數(shù)據(jù)源應(yīng)該選擇SQL Azure,但是此處也可以選擇 打開了端口的本地 SQL Server 或其他數(shù)據(jù)庫。此處,我選擇和報(bào)表服務(wù)位于同一數(shù)據(jù)中心的SQL Azure 數(shù)據(jù)庫 。 在 Credentials 標(biāo)簽頁,輸入上文的用戶名和密碼。
?
SQL Azure Reporting CTP 只在北美數(shù)據(jù)中心內(nèi)可用,所以最好選擇同一數(shù)據(jù)中心內(nèi)的數(shù)據(jù)庫,避免外部傳輸費(fèi)用。
創(chuàng)建一個(gè)簡單的報(bào)表,檢索回Members數(shù)據(jù)表的所有的記錄。在數(shù)據(jù)源選擇步驟,選擇之前的共享數(shù)據(jù)源。輸入 T-SQL語句來獲取數(shù)據(jù)。報(bào)表如下:
為了將報(bào)表部署至SQL Azure Reporting Service ,我們需要更新一下項(xiàng)目屬性。右擊項(xiàng)目,選擇屬性。在Target Server URL 項(xiàng)內(nèi),填入SQL Azure Reporting報(bào)表服務(wù)器的URL。回到開發(fā)者門戶,選擇左側(cè)的報(bào)表節(jié)點(diǎn),復(fù)制Web Service URL ,并在URL最后填上 "/reportserver" 。
之后,點(diǎn)擊項(xiàng)目的 Deploy 菜單項(xiàng), Visual Studio會(huì)編譯報(bào)表服務(wù),并上傳至報(bào)表服務(wù)。這一步,會(huì)提示需要輸入SQL Azure Reporting Service 的用戶名和密碼。大約一分鐘后,報(bào)表并會(huì)部署成功。?
在瀏覽器中查看報(bào)表
SQL Azure Reporting 允許我們在瀏覽器中查看云端部署的報(bào)表。我們輸入Web Service URL ,同樣在最后填上 "/reportserver" 路徑,并以 HTTPS 協(xié)議打開,我們便能看到SQL Azure Reporting Service 登陸頁面。
輸入用戶名和密碼,可以看到目錄和報(bào)表清單。選擇報(bào)表, Report Viewer 便會(huì)開始生成報(bào)表。
?
通過Report Viewer 在Web Role內(nèi)查看報(bào)表
?ASP.NET 和 Windows Form Report Viewer 一樣能夠用于查看SQL Azure Reporting Service 。我們可以創(chuàng)建一個(gè)ASP.NET Web Role ,添加Report Viewer 控件,所需的更改如下:
- § 將Processing Mode 改為 Remote。
- § 將Server Remote目錄下的 Report Server URL 設(shè)為上文SQL Azure Reporting Web Service URL 并加上 "/reportserver"路徑。
- § 將 Report Path 設(shè)為我們希望顯示的路徑。報(bào)表名不應(yīng)該包含拓展名。舉例, SqlAzureReportingTest 項(xiàng)目中名為MemberList.rdl 的報(bào)表,那么路徑應(yīng)為/SqlAzureReportingTest/MemberList。
下一步輸入SQL Azure Reporting Credentials。我們用一下類來封裝報(bào)表服務(wù)器憑證。
private?class?ReportServerCredentials : IReportServerCredentials
{
????private?string _userName;
????private?string _password;
????private?string _domain;
?
????public?ReportServerCredentials(string userName, string password, string domain)
????{
????????_userName = userName;
????????_password = password;
????????_domain = domain;
????}
?
????public?WindowsIdentity ImpersonationUser
????{
????????get
????????{
????????????return?null;
????????}
????}
?
????public?ICredentials NetworkCredentials
????{
????????get
????????{
????????????return?null;
????????}
????}
?
????public?bool?GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
????{
????????authCookie = null;
????????user = _userName;
????????password = _password;
????????authority = _domain;
????????return?true;
????}
}
在 Page_Load 方法內(nèi),將其傳遞給 report viewer。
protected?void?Page_Load(object sender, EventArgs e)
{
????ReportViewer1.ServerReport.ReportServerCredentials =?new?ReportServerCredentials(
????????"<user name>",
????????"<password>",
????????"<sql azure reporting web service url>");
}
最后部署至 Windows Azure 效果如下:
?
總結(jié)
本文介紹了SQL Azure Reporting CTP 。和其他Windows Azure特性一樣, SQL Azure Reporting 與SQL Server Reporting非常相似。我們可以使用現(xiàn)有熟悉的工具來構(gòu)建,部署以及顯示報(bào)表。SQL Azure Reporting仍然出于 CTP 階段,這意味著:
?
- § 免費(fèi)。
- § 沒有技術(shù)支持。
- § 只能用 北美數(shù)據(jù)中心
通過如下鏈接獲得更多信息:
- §?SQL Azure Reporting Limited CTP at MSDN
- §?SQL Azure Reporting Samples at TechNet Wiki
本文翻譯自:http://geekswithblogs.net/shaunxu/archive/2011/02/17/sql-azure-reporting-limited-ctp-arrived.aspx
?
轉(zhuǎn)載于:https://www.cnblogs.com/RobotTech/archive/2012/03/07/2383852.html
總結(jié)
以上是生活随笔為你收集整理的SQL Azure Reporting CTP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有关转换问题
- 下一篇: C#备份数据和还原数据