好的,这是我的问题及其SSRS 2005和SQL Server 2005/2008
我的任务是重建我们的用户在其数据系统上使用的十几个报告。我们只是构建它们,因为每个数据库实例对于我们所有的客户端都是相同的,我们将报告推送到他们的报告服务器以供使用。
所以修改了很多报告,但报告已经吹走了客户订阅。因此,每个使用这些报告的用户都可以手动运行报告或重做他们的订阅,这可以让很多人看到每个人都可以拥有自己的参数集。
我的公司非常希望避免这种情况,但我无法弄清楚如何更改报告,即使使用与上一次报告相同的参数设置,也要保留订阅。
即使我将报告复制到他们的报告服务器并使用相同名称替换旧报告。订阅仍然存在,但它会被修改。
哪一个真的不重要,但第二个最好看的是个人用户如何使用个人名称作为参数的报告
非常感谢任何可以指导我管理订阅的方式,或者让我的报告在其服务器上承担相同命名报告的订阅。 - 编辑 - 想要把更清晰的图片放在那里 我有一份报告的主副本。用户在自己的系统上使用该报告。 我对报告的主副本进行了一些重大修改,并将其上传到他们的系统。使用与原始报告相同的名称和相同的参数集。 我希望他们的报表服务器上的订阅使用相同的名称查找此报表。 所以XXX.report有订阅。我在本地将其更改为XXX.report,并上传到他们的服务器。订阅不是同步。
由于
答案 0 :(得分:0)
我不确定您是如何访问SSRS的,但您可以使用以下网络服务方法下载和上传报告订阅
使用这些方法,您可以使用 ListSubscriptions 来获取报告的子订阅。 Subscription.IsDataDriven属性会告诉您它是否是数据驱动的。对于数据驱动订阅,请使用 GetDataDrivenSubscriptionProperites 获取订阅属性,否则使用 GetSubscriptionProperties 。所有这些类都是XML可序列化的,因此您可以使用XmlSerializer将它们保存到磁盘中。
要阅读订阅,请使用 DeleteSubscription 逐个删除订阅,然后 CreateSubscription 或 CreateDataDrivenSubscription 以读取订阅。
这是一个黑客攻击,因为您应该能够在不中断订阅的情况下修改报表。您应该执行以下操作来帮助诊断问题
答案 1 :(得分:0)
有来自Jasper Smith的名为Reporting Services Scripter的工具。我认为它应该适合你。
答案 2 :(得分:0)
我最近要做的就是返回并将所有输入参数(包括下拉列表的sql内容)更改回原来的状态。然后使用SQL为报告接受新的(旧)参数。
感谢您的投入。我接受了Web服务的答案,因为这是我下次更新时必须探索的路径。