这是我的问题和它的SSRS 2005和SQL Server 2005/2008
我的任务是重建十几个报告,我们的用户在他们的数据系统上使用。我们只是构建它们,因为每个DB实例对我们的所有客户端都是相同的,所以我们将报告推送到它们的报表服务器以供使用。
因此,修改了大量的报告,但报告已经吹走了客户订阅。因此,每一个使用这些报表的用户--这可能是很多人认为每个人都可以拥有自己的参数集--必须手动运行报表或重做他们的订阅。
我的公司很想避免这种情况,但我想不出如何更改报表,即使使用与上一次报告相同的参数设置,也要将订阅保持在那里。
即使我将报表复制到他们的报表服务器,并使用相同的名称替换旧的报表。订阅仍然存在,但是它会被修改。
哪一个并不重要,但第二个是最好的方式,即单个用户如何使用带有单个名称的报表作为参数。
事先非常感谢任何人可以为我提供管理订阅的方法,或者使我的报表能够在其服务器上假定相同命名的报表的订阅。--编辑--想把照片看得更清楚,我有一份报告的复印件。用户在自己的系统上使用报表。我对报告的主副本做了一些重大修改,并将其上传到他们的系统中。使用与原始报表相同的名称和参数集。我希望他们的报表服务器上的订阅使用相同的名称查找此报表。因此,XXX.report有一个订阅。我在本地将其更改为XXX.report,并上传到他们的服务器。但是订阅不是同步的。
谢谢
发布于 2015-02-15 14:49:14
我不确定您是如何访问SSRS的,但您可以使用以下webservice方法下载和上载报表订阅
使用这些方法,您可以使用ListSubscriptions获取报表的描述。Subscription.IsDataDriven属性将告诉您它是否是数据驱动的。对于数据驱动订阅,使用GetDataDrivenSubscriptionProperites获取订阅属性,否则使用GetSubscriptionProperties.所有这些类都是可序列化的,因此您可以使用XmlSerializer将它们保存到磁盘中。
若要读取订阅,请使用DeleteSubscription逐个删除订阅,然后使用CreateSubscription或CreateDataDrivenSubscription读取订阅。
不过,这是一次黑客攻击,因为您应该能够在不破坏订阅的情况下修改报表。您应该通过以下操作来帮助诊断该问题
发布于 2015-02-15 18:28:47
贾斯珀·史密斯( Jasper )有一个叫做的工具。我觉得它应该对你有用。
发布于 2015-02-25 15:54:15
我最后要做的是返回并将所有输入参数(包括下拉列表中的sql内容)更改回原来的状态。然后为报表播放SQL以接受新的(旧的)参数。
谢谢你的意见。我接受了web服务的答案,因为这是我在下一次更新中必须探索的路径。
https://stackoverflow.com/questions/28508691
复制相似问题