批量更新多个SSRS报告

时间:2017-01-17 19:43:05

标签: sql-server reporting-services ssrs-2008-r2

我需要对数百个报告进行相同的更改,我希望通过SQL而不是每个单独的报告及其查询来做到这一点。我可以通过xml提取报告查询并生成我的报告列表,它们的位置和正在使用的查询。但我无法弄清楚如何更新报表查询,然后将更新更新回目录?数据库,以便报告本身反映执行时的更改?我从来没有见过这是可能的,但也许有人在这里试图这样做或者知道它是不可能的。

我可以使用SSIS并执行此操作,但我不想下载所有RDL然后更新,然后重新部署/上传报告。希望更新报告/ RDL。

1 个答案:

答案 0 :(得分:2)

您不必下载RDL,它们应该已经在您的源代码管理系统中,并且理想地收集并分组到项目中。如果是这样,您很幸运 - 您可以使用Visual Studio(BIDS)或Notepad ++的全局搜索/替换功能进行更改。

如果您对报告的结构进行了更改,那么您只需编写一个快速讨厌的控制台应用程序来加载RDL并操纵XML结构。但是报表查询之类的东西在节点中保存为自由格式文本,这使得以可靠的方式应用批量更新变得更加困难。

您可以将报表查询重构为存储过程和/或函数,这将使未来的更新更容易一些。在任何情况下,如果您更改报告RDL,您没有选择,只能重新发布修改过的RDL - 那就是服务器上没有就地更改(将您的查询作为存储过程进行更改)避免了这个问题)。