使用相同的共享数据集查找所有SSRS报告

时间:2014-11-06 04:52:21

标签: visual-studio-2008 reporting-services ssrs-2008 bids

我一直试图找出使用特定数据库表的内容(如果有的话),所以我可以更新它 我找到了一个访问此表的存储过程,SSRS实例使用该存储过程来获取共享数据集。我有一份SSRS解决方案,当我在VS2008中打开它时,我可以看到数据集。此解决方案中还有18个报告。当我右键单击并在任何共享数据集上选择find usages时,它只会显示"Usages of blah.rsd was not found" 我可以单独打开每个报告并检查每个报告上的数据集,看它们是否与共享数据集匹配,但这看起来很荒谬。

当然,有一种更简单的方法可以找到共享日期集的用法吗?

2 个答案:

答案 0 :(得分:2)

下面的查询显示同一项目中的所有报告并使用共享数据集。有关typeCatalog列的说明,请参阅msdn论坛中的link,他们也无需提及直接查询数据库...

select c.Name as ReportName, c.Path 
  from Catalog c
  join DataSets ds on c.ItemID = ds.ItemID                 --all reports datasets (including those created from shared datasets)
  join Catalog c2 on ds.LinkID = c2.ItemID and c2.Type = 8 --all shared datasets
  join Catalog c3 on c.ParentID = c3.ItemID                --the project dataset object
  join Catalog c4 on c3.ParentID = c4.ItemID               --the project object
 where c2.Name = 'MySharedDatasetName' and c4.Name = 'MyProjectName'

感谢s_f带领我朝着正确的方向前进!

答案 1 :(得分:1)

您可以在ReportServer DB上运行此查询:

select c.Name, c.Path 
from dbo.DataSets ds
inner join dbo.Catalog c
    on ds.ItemID = c.ItemID
where ds.Name like 'yoursDSname'