[英]SSRS Data-Driven Subscription [based on static Subscription table] Not Picking Up Changes Made to Subscription Table
我有一个在BIDS中设计的.RDL
报告,并已部署到我的报告服务器中。 该报告在查看报告之前会要求三个参数: Year
, Month
和Customer ID
。 该报告效果很好,并且完全可以完成预期的工作。
由于过去有2-3个客户,我以前分别运行每个报表,但是现在有30多个客户接收该报表,因此我想切换到一种更自动化的实现方法来生成报表。 经过研究后,使用“ Windows文件共享”选项使用报表管理器创建“数据驱动订阅”(DDS)似乎给了我所需的功能。
在创建DDS的过程中,我创建了一个名为[Subscription]
的表,该表为接收报告的每个客户包含一行,并具有以下几列:
...所以通过在报表管理器使用DDS向导,我是能够成功地建立了一个数据驱动的订阅(链接到各列的[Subscription]
这会在每个客户的一份新报告表) [Subscription]
表,将其保存(并覆盖,如果需要的话)为我选择的PDF格式的位置(在[Subscription].[FileLocation]
或表的FileLocation
列中为每一行指定),并每分钟运行一次(我最终将频率更改为每周一次)。
这项工作完美无缺,在我选择的目录中为我提供了一组新的30个报告,每个报告都有我在表的FileName
列中分配的名称。 正是我想要的。
这里的问题是:当我更新[Subscription]
表中的FileLocation
或FileName
(或其他任何东西)时,它不会立即进行更改。 有时甚至根本无法使用它(例如,我将一个客户的[ReportName]
列从Report_711622
为SpecialReport_711622
,以便该客户的输出文件应命名为SpecialReport_711622
而应调用所有其他报告Report_XXXXX
[无Special
前缀], 但客户711622的报告文件名保持不变!
几乎就像工作只看到每天需要做的事情,然后直到我晚上离开时才返回并引用[Subscription]
表,然后当我早晨回来时便找了零钱。
由于我将使用不同的报告将这一过程扩展到庞大的客户群,因此我需要能够对[Subscription]
表进行编辑,并让它们立即被“数据驱动订阅”获取(如果没有,立即,至少可以调整一个固定的时间间隔,以便我可以100%知道何时获得更改。)
有人知道是什么原因导致我的延迟吗? 如何更改它,以便定期获取对Subscription
表的更新? 我在其他报表上创建新的DDS时也遇到了问题(遵循上面概述的确切过程)-我已经创建了每分钟的订阅,并且说订阅正在运行,并且输出数量与客户数量相匹配。错误为0,但我指定的驱动器(或与此相关的其他地方)中没有文件。
任何帮助将不胜感激!
我认为答案在于SSRS使用的机制。 有几个地方可能会出现“滞后”。
预订实际上是一个SQL Agent作业,可在事件表中创建一条记录。 该表是SSRS检查执行预定任务的队列。
从订阅创建事件记录到SQL读取事件记录并开始为DDS创建数据集之间,只有一小段时间。 DDS数据集的创建也需要一些时间。 此时,订阅将处于“待处理”状态。 如果您在此期间更改数据中的任何内容,则订阅仍将使用旧数据作为报告参数。 因此,很明显,您不会在下一次计划运行之前注意到您的更改。
这使我想到以下内容:如果订阅仍在运行,并且下一个计划开始执行(可能是因为您的运行时间是每分钟),引擎将不会执行它,而是等待下一个订阅计划,依此类推。 因此,这是另一种滞后的可能性-并导致在特定的计划分钟内丢失报告。 订阅顺序处理报告,一次从DDS记录集中一行。 同样,这需要一些时间。 您还可以在订阅窗口中看到以下内容:已处理的#个。
我建议您在执行过程中查看数据库ReportServer中的事件表。 另外,ExecutionHistory视图(有3个)可能很有趣。 计划的运行显示为RequestType = 1,并为每个报告生成一个记录。 您可以查看订阅中运行的每个报告的确切时间和参数。 您也许可以提取解决其他问题所需的数据。
编辑:这是DDS数据和事件的更详尽指南, http: //blogs.msdn.com/b/deanka/archive/2009/01/13/diagnosing-and-troubleshooting-subscriptions.aspx http:// blogs。 msdn.com/b/deanka/archive/2010/02/16/troubleshooting-subscriptions-part-ii-using-the-report-services-trace-log-file.aspx
这个“双跳”问题会成为我问题的根源吗? 我被这个卡住了! 双跳问题-MSDN Knowledgecast
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.