SSRS:如何查找给定用户的报告?

时间:2009-04-24 18:34:18

标签: reporting-services reportingservices-2005

我在SQL Server Reporting Services 2005中设置了几个不同的用户帐户,我想以编程方式检查(通过他们的Web服务)给定用户可以访问哪些报告。 我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用ReportingService2005 Web服务的ListChildren Web方法。它将返回当前用户可以访问的CatalogItem列表。然后删除不是报告的项目。

List<CatalogItem> result = new List<CatalogItem>();
result.AddRange(ListChildren(SOME_PATH_BLAH_BLAH_BLAH, true));
result.RemoveAll(delegate(CatalogItem item)
                                {
                                    return item.Type != ItemTypeEnum.Report;
                                });

来自http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.listchildren.aspx -

  

ListChildren方法仅返回用户有权查看的子项。返回的项目可能不代表指定父项的子项的完整列表。