【发布时间】:2011-11-14 21:02:00
【问题描述】:
我正在尝试模仿数据驱动订阅的功能。我们当前正在运行一个不允许数据驱动下标的报表服务器版本。目前这就是我正在使用的东西
use ReportServer
declare @datetime varchar(29)
set @datetime = convert(varchar(16),dateadd(MINUTE,2,GETDATE()), 126) + ':00.000-05:00'
update Subscriptions
set MatchData = '<ScheduleDefinition xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><StartDateTime xmlns="http://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices">' + @datetime + '</StartDateTime></ScheduleDefinition>',
modifieddate = convert(varchar(23),GETDATE(), 121)
where SubscriptionID = '48FB6FE9-969B-4E8D-AD37-E80CE20FDDE5'
update Schedule
set StartDate = CONVERT(VARCHAR(16), dateadd(minute, 2, GETDATE()), 121) + ':00.000',
NextRunTime = null
where Name = '3664a678-af17-4a05-9ff4-5666ea727e91'
它会更新报表服务器,但时间到了它不会执行。有谁知道我如何触发这个?
【问题讨论】:
-
您还需要创建匹配的 SQL 代理作业。
-
实际上我认为没有必要。我们使用第三方程序将我们的数据导入我们的数据库。我们可以选择使用后处理程序。在那个过程中,我会简单地执行 sp 在一两分钟后设置下一个报告。现在我正在尝试了解需要更新哪些其他表才能使其正常工作。
-
如果您尝试发送 SSRS 订阅,我想是的。 SSRS 订阅实际上是由 SQL 代理作业触发的,因此如果要从头开始创建订阅,则需要创建相应的作业。您上面的代码不会创建这些:blogs.msdn.com/b/deanka/archive/2009/01/13/…
标签: sql reporting-services subscription