gpt4 book ai didi

reporting-services - SSRS如何在新数据加载到数据库时触发订阅

转载 作者:行者123 更新时间:2023-12-02 21:44:29 25 4
gpt4 key购买 nike

我已为报告创建了数据驱动的订阅。订阅从 Oracle 数据库中的表获取数据。 (查询:select * from Mytable)我想做的是按事件对报告进行下标(按计划已经可以了)。例如,当Oracle中的表中插入新行时,这将触发订阅并生成新的报告。我该如何处理这个问题?谢谢!

最佳答案

我可以想到一些方法。通过一些额外的数据库设计,您可以在表中为已插入但尚未报告的行设置一个标志。然后,您可以更改数据驱动的订阅查询以运行一个存储过程来查找标志、将行返回到订阅并更新表上的标志。然后,您可以安排数据驱动订阅以适当的时间间隔触发 - 当表中没有插入行时,没有行返回到订阅,因此它不会触发。

如果您希望报表在每次插入时触发,则另一种方法是在表上设置触发器,以便每次插入行时,它都会将代码发送到 ReportServer 数据库,如下所示:

exec [ReportServer].dbo.AddEvent @EventType='TimedSubscription', @EventData='520580b3-bd4e-4221-9254-b220bc16ca55'

上面的代码是 SQL Server 如何在作业中触发订阅的。您只需通过触发器直接调用作业即可。 @EventData 中的 GUID 是您要触发的 SubscriptionID。您必须查看订阅表(在 ReportServer 数据库中)才能弄清楚这一点。另外,如果您选择这条路线,我建议您将数据驱动订阅设置为“一次性”计划。

关于reporting-services - SSRS如何在新数据加载到数据库时触发订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com