首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSRS 2005订阅更改

SSRS 2005订阅更改
EN

Stack Overflow用户
提问于 2015-02-13 21:03:22
回答 3查看 253关注 0票数 0

这是我的问题和它的SSRS 2005和SQL Server 2005/2008

我的任务是重建十几个报告,我们的用户在他们的数据系统上使用。我们只是构建它们,因为每个DB实例对我们的所有客户端都是相同的,所以我们将报告推送到它们的报表服务器以供使用。

因此,修改了大量的报告,但报告已经吹走了客户订阅。因此,每一个使用这些报表的用户--这可能是很多人认为每个人都可以拥有自己的参数集--必须手动运行报表或重做他们的订阅。

我的公司很想避免这种情况,但我想不出如何更改报表,即使使用与上一次报告相同的参数设置,也要将订阅保持在那里。

即使我将报表复制到他们的报表服务器,并使用相同的名称替换旧的报表。订阅仍然存在,但是它会被修改。

  1. 我正在寻找一种方法来降低订阅量,作为报告的一部分,这样他们对订阅的投入就会减少,以适应他们的需求--或者理想的是--
  2. 将报表的新版本上载到他们的报表服务器,只需订阅我在他们服务器上的最新报表。

哪一个并不重要,但第二个是最好的方式,即单个用户如何使用带有单个名称的报表作为参数。

事先非常感谢任何人可以为我提供管理订阅的方法,或者使我的报表能够在其服务器上假定相同命名的报表的订阅。--编辑--想把照片看得更清楚,我有一份报告的复印件。用户在自己的系统上使用报表。我对报告的主副本做了一些重大修改,并将其上传到他们的系统中。使用与原始报表相同的名称和参数集。我希望他们的报表服务器上的订阅使用相同的名称查找此报表。因此,XXX.report有一个订阅。我在本地将其更改为XXX.report,并上传到他们的服务器。但是订阅不是同步的。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-15 14:49:14

我不确定您是如何访问SSRS的,但您可以使用以下webservice方法下载和上载报表订阅

  1. ListSubscriptions
  2. GetSubscriptionProperties
  3. GetDataDrivenSubscriptionProperties
  4. DeleteSubscription
  5. CreateDataDrivenSubscription
  6. CreateSubscription

使用这些方法,您可以使用ListSubscriptions获取报表的描述。Subscription.IsDataDriven属性将告诉您它是否是数据驱动的。对于数据驱动订阅,使用GetDataDrivenSubscriptionProperites获取订阅属性,否则使用GetSubscriptionProperties.所有这些类都是可序列化的,因此您可以使用XmlSerializer将它们保存到磁盘中。

若要读取订阅,请使用DeleteSubscription逐个删除订阅,然后使用CreateSubscriptionCreateDataDrivenSubscription读取订阅。

不过,这是一次黑客攻击,因为您应该能够在不破坏订阅的情况下修改报表。您应该通过以下操作来帮助诊断该问题

  1. 将SSRS日志记录设置为详细的所有组件
  2. 使用单击一次性报表生成器更改报表标题,并在单击“保存”时查看订阅是否中断。
  3. 让SQL分析器在ReportServer数据库上运行,以查看订阅中断时生成什么SQL。
票数 0
EN

Stack Overflow用户

发布于 2015-02-15 18:28:47

贾斯珀·史密斯( Jasper )有一个叫做的工具。我觉得它应该对你有用。

票数 0
EN

Stack Overflow用户

发布于 2015-02-25 15:54:15

我最后要做的是返回并将所有输入参数(包括下拉列表中的sql内容)更改回原来的状态。然后为报表播放SQL以接受新的(旧的)参数。

谢谢你的意见。我接受了web服务的答案,因为这是我在下一次更新中必须探索的路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28508691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档