c# – SSRS:在单个Web服务调用中获取所有报告和参数的列表?

前端之家收集整理的这篇文章主要介绍了c# – SSRS:在单个Web服务调用中获取所有报告和参数的列表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
简短而甜蜜的版本:是否有单一的Web服务方法返回所有可用报告的名称,以及每个报告的参数?

我有我的网络代码(C#/ MVC)连接到SSRS Web服务,我能够通过这些服务检索报告.

我知道我可以得到如下可用报告的列表:

var rService = new ReportingService2005
{
 Url = @"http://domain.com/ReportServer/ReportService2005.asmx?wsdl",Credentials = System.Net.CredentialCache.DefaultCredentials
};

var reportList = rService.ListChildren(@"/Blah",true);

ListChildren()的结果给出了很多信息,但是它没有列出每个报告的参数.为了获取报告的参数,我需要单独调用

string historyId = null;
ReportService.ParameterValue[] values = null;
ReportService.DataSourceCredentials[] credentials = null;

var parameters = rService.GetReportParameters(@"/Blah/" + reportName,historyId,true,values,credentials);

所以如果我想获得所有可用的报告及其参数,我将需要循环查看ListChildren的结果,这意味着我将为每个报告创建一个Web服务调用.

有更好的做法吗?

解决方法

没有这样一个对webservices界面的调用.作为替代方案,您可以通过直接查询ReportServer DB中的报表服务系统表来实现类似的操作;但这将取决于版本,MS可能不会支持它.

话虽如此,我已经用这些表来创建过去的几个报告.并没有遇到任何问题YMMV.

猜你在找的C#相关文章