公告:本博客为微软云计算中文博客的镜像博客。 部分文章因为博客兼容性问题,会影响阅读体验。如遇此情况,请访问原博客。
今天我查收邮件时,收到了SQL Azure Reporting CTP 的邀请码。所以马上体验了一把。
概念
SQL Azure Reporting 把云端报表作为服务来提供,构建于SQL Server Reporting Services 和 SQL Azure 技术之上。诸如SQL Azure Reporting此类云端报表服务具有许多优势,包括快速服务提供,成本效益,拓展性,高可用性以及减少报表服务器的管理费用,并能安全的访问,查看和管理报表。SQL Azure Reporting Service提供如下功能:
§ 在web应用和桌面应用中嵌入Visual Studio Report Viewer ADO.NET Ajax 控件或 Windows Form 控件来查看SQL Azure Reporting Service内的报表。
§ 各类应用都可以利用 SQL Azure Reporting SOAP API 来管理和获取报表内容。
§ 使用SQL Azure Reporting Service Portal。
因为 SQL Azure Reporting Service构建于 SQL Server 2008 R2 Reporting Service之上,我们便可以使用熟悉的工具,例如SQL Server Integration Studio,Visual Studio Report Viewer等。SQL Azure Reporting Service其实是云端的远程 SQL Server Reporting Service。
创建一个新的SQL Azure Reporting
打开WindowsAzure 开发者门户,点击左侧导航栏的Reporting 项。(如果还没有激活码, Sign Up 按钮来发送申请。)点击Provision 按钮。
选择同意服务条款,选择订购方式。此处我选择Windows Azure Pass 订购方案。
最后一部,复制邀请码,输入SQL Azure Reporting Service的密码。用户名会自动生成。
稍等之后,新的 SQL Azure Reporting Server以及Reporting Service URL 和用户名都会显示在门户上。通过工具栏按钮可以重置密码。.
将报表部署至SQL Azure Reporting
如果您熟悉SQL Server Reporting Service,那么您会发现本章与本地的报表服务非常类似。首先,打开SQL Server Business Intelligence Development Studio ,创建新的Report Server Project。
创建一个共享数据源,报表数据便会从该数据源获取。数据源应该选择SQL Azure,但是此处也可以选择 打开了端口的本地 SQL Server 或其他数据库。此处,我选择和报表服务位于同一数据中心的SQL Azure 数据库 。 在 Credentials 标签页,输入上文的用户名和密码。
SQL Azure Reporting CTP 只在北美数据中心内可用,所以最好选择同一数据中心内的数据库,避免外部传输费用。
创建一个简单的报表,检索回Members数据表的所有的记录。在数据源选择步骤,选择之前的共享数据源。输入 T-SQL语句来获取数据。报表如下:
为了将报表部署至SQL Azure Reporting Service ,我们需要更新一下项目属性。右击项目,选择属性。在Target Server URL 项内,填入SQL Azure Reporting报表服务器的URL。回到开发者门户,选择左侧的报表节点,复制Web Service URL ,并在URL最后填上 "/reportserver" 。
之后,点击项目的 Deploy 菜单项, Visual Studio会编译报表服务,并上传至报表服务。这一步,会提示需要输入SQL Azure Reporting Service 的用户名和密码。大约一分钟后,报表并会部署成功。
在浏览器中查看报表
SQL Azure Reporting 允许我们在浏览器中查看云端部署的报表。我们输入Web Service URL ,同样在最后填上 "/reportserver" 路径,并以 HTTPS 协议打开,我们便能看到SQL Azure Reporting Service 登陆页面。
输入用户名和密码,可以看到目录和报表清单。选择报表, Report Viewer 便会开始生成报表。
通过Report Viewer 在Web Role内查看报表
ASP.NET 和 Windows Form Report Viewer 一样能够用于查看SQL Azure Reporting Service 。我们可以创建一个ASP.NET Web Role ,添加Report Viewer 控件,所需的更改如下:
§ 将Processing Mode 改为 Remote。
§ 将Server Remote目录下的 Report Server URL 设为上文SQL Azure Reporting Web Service URL 并加上 "/reportserver"路径。
§ 将 Report Path 设为我们希望显示的路径。报表名不应该包含拓展名。举例, SqlAzureReportingTest 项目中名为MemberList.rdl 的报表,那么路径应为/SqlAzureReportingTest/MemberList。
下一步输入SQL Azure Reporting Credentials。我们用一下类来封装报表服务器凭证。
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 方法内,将其传递给 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 效果如下:
总结
本文介绍了SQL Azure Reporting CTP 。和其他Windows Azure特性一样, SQL Azure Reporting 与SQL Server Reporting非常相似。我们可以使用现有熟悉的工具来构建,部署以及显示报表。SQL Azure Reporting仍然出于 CTP 阶段,这意味着:
§ 免费。
§ 没有技术支持。
§ 只能用 北美数据中心
通过如下链接获得更多信息:
§ 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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com