ASP.NET中访问SQL 2005报表服务(二)

通过调用SQL 2005Web service访问SQL 2005报表服务

这种方法适合建立自己的报表解决方案,如改善报表参数的UI界面,提供漂亮的报表导航界面界面等。

使用 Add Web Reference 将一个 Web 服务引用添加到应用程序中。指定到 Web 服务的路径,如下所示:

http://MyServer/ReportServer/ReportService.asmx

如果报表服务就在本机可以直接点击”Web services on the local machine”进行选择。

 

 

 

在添加引用后,就可以创建 ReportingService 代理类的一个实例,并调用该服务上的方法。

         

        //获取已存在报表服务引用实例

        ReportService2005.ReportingService2005 reportingService = new ReportingService2005();

        //设定验证关系

        reportingService.Credentials = System.Net.CredentialCache.DefaultCredentials;

        //从报表服务器获取报表数据

        ReportService2005.CatalogItem[] reportItems = reportingService.ListChildren("/ReportProjectDemo", true);

//遍历报表数组中的WebReference.CatalogItem实例,然后放置到前台的DropDownList中去

        foreach (ReportService2005.CatalogItem item in reportItems)

        {

            if(item.Type == ItemTypeEnum.Report)

            {

                DropDownList1.Items.Add(new ListItem(item.Name, item.Path));

            }

        }

 

 

如果您正在一个 Intranet 环境中部署应用程序,要通过将添加到应用程序的 web.config 文件中来启用模拟。您还要将客户端登录凭据传递到该服务,如前面的示例所示。

ListChildren 方法返回 CatalogItem 对象的数组,该数组表示用户有权查看的项,包括报表、文件夹和数据源。Path 属性提供了到项的唯一路径,例如,/SampleReports/Sales Order DetailType 属性使您可以区别报表和其他类型的项。

既然我已经将报表名称加载到了下拉列表中,我必须决定怎么样在仪表板应用程序内显示报表。我决定扩展我早期编写的 ReportViewer 代码并且只要用户选择某个报表并点击“Go”按钮就更改 ReportPath 属性。您还可以使用 IFRAME 并将 SRC 设置为适当的 URL(并为报表的名称加上前缀“http://MyServer/ReportServer?”)

除了报表管理功能外,Web 服务提供的其他主要功能就是报表呈现。大多数应用程序(包括报表管理器应用程序)都使用 Web 服务功能来列出报表或更改设置,并使用URL 方法来显示报表。但是,如果想要完全控制报表内容在应用程序中处理的方式,可以使用 ReportingService 类的 Render 方法。该方法返回一个可以在以后保存到输出文件的字节数组,取决于请求的格式,输出文件可以是图形文件或 Excel 电子表格。如果要以 HTML 格式呈现报表,可能会更加复杂一些,因为您将需要使用 RenderStream 方法来分别呈现图像或其他资源。

具体可以参考下文

http://www.codeproject.com/KB/reporting-services/SQLRSViewer.aspx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值