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

2024-05-10

简短而有趣的版本:是否有一个 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 服务调用。

有更好的方法吗?


Web 服务接口没有这样的调用。作为替代方案,您可以通过直接查询 ReportServer DB 中的报告服务系统表来实现类似的效果;但这将取决于版本,并且 MS 可能不会支持它。

话虽这么说,我过去曾使用这些表创建了几个临时报告。并且没有遇到任何问题 YMMV。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSRS:在单个 Web 服务调用中获取所有报告和参数的列表? 的相关文章

随机推荐