转:使用WebService动态生成DataSet绑定到Reporting Services

本文介绍如何通过WebService动态生成DataSet,并将其绑定到ReportingServices中,实现报表数据的动态加载。文中详细描述了创建WebService的方法及ReportingServices项目的配置过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用WebService动态生成DataSet绑定到Reporting Services

转自:http://tech.sina.com.cn/s/2008-07-01/0833714471.shtml

 


【IT168技术文档】

  我的步骤是这样的:
  1.首先创建一个WebSerivce,然后写了一个Web Method:
    [WebMethod]
public XmlDataDocument GetDataSource()
{
string strCon;
DataSet ds = new DataSet();
XmlDataDocument xmlDataDoc;
strCon = "Your Connection String";
string selectText = "Your Select String";
SqlDataAdapter dataAdapter = new SqlDataAdapter(selectText,strCon);
try{
dataAdapter.Fill(ds);
xmlDataDoc = new XmlDataDocument(ds);
}
catch
{
xmlDataDoc = null;
}
finally
{
strCon = null;
ds.Dispose();
}
return xmlDataDoc;
}
  我们可以注意到。这里使用了XmlDataDocument,还记得陆飞文章中提到了XML文档,我们需要受到手动修改它吗?其实是不需要的,我们可以通过XmlDataDocument关联到DataSet生成相应的XML

  2.新建一个Reporting Services项目,注意时Reporting Serverices项目,不是Report Viewer控件

  然后在Shared Data Source里新建一个DataSource,指定Type为XML,Connection String 为你的WebSerivce,比如说 http://localhost/WebService/Service.asmx(你可能需要在IIS中部署WebService)

  然后新建一个Report,指定Query String 为: 
  <Query xmlns="http://Eric.org/">
<SoapAction>http://Eric.org/GetDataSource</SoapAction>
</Query> 


   然后就可以取得数据了。

  过程中,我遇到的一个问题是,如果在VS中创建的默认的WebService Namespace为http://tempuri.org/,Query String检查就会报错,你只要更改一个Namespace就可以了(如果说我改成了http://Eric.org)

  这样做的好处显而易见,就是可以使用Reporting Services的可视化报表设计系统了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值