簡體   English   中英

無需SQL Server 2008 R2的數據驅動SSRS訂閱

[英]Data Driven SSRS Subscription without SQL Server 2008 R2

我試圖模仿數據驅動訂閱的功能。 當前,我們正在運行不允許數據驅動下標的報表服務器版本。 目前這就是我正在使用的

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'

它會更新報表服務器,但是到了時間就不會執行。 有誰知道我該如何觸發?

當我發表評論時,我的時間很短,但是我只是花時間找到了一個很好的解釋。 MSDN博客

創建訂閱時,將向RS服務器添加一些內容:

  • 在“訂閱”表中放置一行,用於標識報告的名稱,參數設置,數據驅動的查詢信息等,以處理訂閱

  • 預訂時間在Schedule和ReportSchedule表中放置一行

  • 創建一個SQL Server代理作業來控制報表的計划執行,並將其存儲在MSDB數據庫的sysjobs和sysjobsteps中。 座席工作名稱是一個表示ScheduleId的guid值(是的,如果您尚未注意到,這會使您的座席工作列表雜亂無章,而一堆Guid會使您難以處理非訂閱工作,正在聽到您的聲音:)。

看起來您正在向三個所需表中的兩個進行輸入,並且仍然需要創建SQL Agent作業。

正如作者所指出的那樣,直接操作不支持這些功能,因此請進行大量測試,並且萬一發生問題,不要指望有太多支持。

或者,您可以根據SSRS Web服務動態創建這些訂閱,例如Subscription和Delivery方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM