2011-11-14 9 views
2

データ駆動型サブスクリプションの機能を模倣しようとしています。現時点では、データ駆動型の下付き文字を使用できないバージョンのレポートサーバーを実行しています。現時点ではこれは私が作業しているものですSQL Server 2008 R2を使用しないデータ駆動型SSRSサブスクリプション

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' 

ただし、時間が来るとレポートサーバーが更新されます。私はこれをどのように引き起こすことができるか知っていますか?

+0

として、SSRS Webサービスに対してコーディング作成することができます。 –

+0

実際、私はそれが必要とは思わない。当社は第三者のプログラムを使用して、データをデータベースにインポートします。事後処理手順の使用を選択できます。この手順では、spをexecして、1〜2分後に次のレポートを設定します。今のところ、私は他のテーブルがこれを動作させるために更新する必要があるものを理解しようとしています。 – nikolifish

+0

SSRSサブスクリプションを送信しようとしていると思います。 SSRSサブスクリプションはSQL Agentジョブによって実際に起動されるため、最初からサブスクリプションを作成する場合は、適切なジョブを作成する必要があります。上記のコードはこれらを作成しません:http://blogs.msdn.com/b/deanka/archive/2009/01/13/diagnosing-and-troubleshooting-subscriptions.aspx –

答えて

0

私はコメントを残していましたが、私はちょうど良い説明を見つけるために時間を割いた。

サブスクリプションを作成するときにいくつかのことがRS サーバーに追加されています:an MSDN blogから

  • 行は、パラメータ設定と共に、レポートの名前を特定するサブスクリプションテーブルに置かれ、データ駆動型クエリ情報 サブスクリプションを処理するために

  • サブスクリプションのタイミングで行がScheduleおよびReportScheduleテーブルに配置されます

  • レポートのスケジュールされた実行を制御するSQL Serverエージェントジョブが作成され、これはMSDBデータベース のsysjobsおよびsysjobstepsに格納されます。エージェントのジョブ名は、ScheduleIdを と表すguid値です(これは気づいていない場合に備えて、 エージェントジョブのリストは難しいguidsで扱いにくくなります) 私たちはあなたに耳を傾けています:)。

次の3つの必要なテーブルの2にエントリを作っている、とあなたはまだSQLエージェントジョブを作成する必要があるように見えます。

著者が指摘しているように、これらは直接操作ではサポートされていないため、テストが大幅に行われています。

別の方法としては、これらのサブスクリプションは、動的なあなたにも、一致するSQLエージェントジョブを作成する必要がSubscription and Delivery methods

+0

ありがとうございました。今はSQL Server Agent Jobの作成に夢中になりましたが、うまくいくようです。ほとんどの場合、SChedule、ReportSchedule、およびSUbscriptionテーブルに行を追加する必要はありません。同じことをしようとする人には、ドロップ/作成とその中からUIDの動的性質に対処するためのいくつかのパラメータをフックアップすることでジョブをスクリプト化することができます。再度、感謝します – nikolifish

関連する問題