データ ドリブン サブスクリプションでは、外部データ ソースからデータを取得するクエリまたはコマンドによって、動的サブスクリプション データが提供されます。 サブスクリプション データは、データ ドリブン サブスクリプション処理の要件を満たす、サポートされているデータ ソースから取得できます。 クエリまたはコマンドの構文は、レポート サーバーと一緒にインストールされたデータ処理拡張機能に対して有効である必要があります。
データ処理の要件
Reporting Services は、データ処理拡張機能を使用して、サブスクリプション データを取得します。 推奨されるデータ ソースの種類は次のとおりです。
SQL Server リレーショナル データベース
Oracle データベース
Analysis Services の多次元データ ソースおよびデータ マイニング データ ソース
XML データ ソース
サブスクライバー データに XML データ処理拡張機能を使用する場合は、サブスクリプションのクエリ タイムアウト設定を増やしてください。 XML データ処理拡張機能では、秒ではなくミリ秒がクエリ タイムアウト値に使用されています。 タイムアウト値を増やさないと、処理時間が不足しているため、サブスクリプションが失敗する可能性があります。
サブスクライバー データ ソースへの接続を構成する場合 は、[資格情報は必要ありません ] オプションを使用しないでください。 XML データ処理拡張機能を使用して実行時にサブスクリプション データを取得する場合は、保存された資格情報をお勧めします。
サポートされている他の種類のデータ ソースを使用できる場合もありますが、サポートされているすべてのデータ ソースに関して動作が保証されているわけではありません。 たとえば、次のデータ ソースの種類をサブスクライバー データに使用することはできません。
SAP Netweaver BI データベース
レポート モデル
データ ドリブン サブスクリプションでカスタム データ処理拡張機能を使用する場合は、 IDbCommand および IDataReader インターフェイスを実装する必要があります。 データ処理拡張機能では、スキーマのみのクエリ実行をサポートする必要があります。 このクエリは、デザイン時に列のメタデータを取得するために使用します。これにより、サブスクリプション定義の配信オプションおよびレポート パラメーターにユーザーが列をマップできるようになります。 スキーマのみのクエリ実行は、ユーザーによるサブスクリプション定義の初期段階に使用されます。
クエリの要件
サブスクリプション データを取得するクエリを作成する場合は、次の点に注意してください。
サブスクリプションに対して作成できるクエリは 1 つのみです。
クエリは、配信オプションとレポート パラメーターの指定に使用するすべての値を返す必要があります。
レポート サーバーは、結果セット内のすべての行に対してレポート配信を作成します。 結果セットが 300 行で構成されている場合、レポート サーバーは 300 個のレポートの配信を試みます。
サブスクライバー データベースからの変数データを使用した配信オプションの設定
サブスクライバー データベースのデータを使用して、各受信者に関する配信オプションをカスタマイズできます。 使用している配信拡張機能の種類によって、使用可能なオプションが決まります。 レポート サーバーの電子メール配信拡張機能を使用している場合、クエリには各サブスクライバーの電子メール エイリアスが含まれている必要があります。 ファイル共有配信を使用している場合は、サブスクライバー固有のレポート ファイルの作成または配信先の指定に使用できる値をサブスクライバー データに含める必要があります。 詳細については、「 Reporting Services でのファイル共有配信」および「Reporting Servicesでの電子メール配信」を参照してください。
サブスクライバー データベースからレポートにパラメーター値を渡す
パラメーター化されたレポートのデータ ドリブン サブスクリプションを作成する場合は、変数パラメーター値を使用して各レポートの出力をカスタマイズできます。 たとえば、サブスクライバー データベースには、レポート データのフィルター処理に使用できる従業員 ID 番号、雇用日、職種、および勤務地情報が含まれていることがあります。 これらの列データまたは他の使用可能な列データに基づいたパラメーターをレポートが受け取ると、そのパラメーターを適切な列にマップすることができます。
サブスクライバー フィールドをレポート パラメーターにマップするときは、データ型および列の長さに互換性があることを確認してください。 データ型が一致しない場合、サブスクリプションの処理中にエラーが発生します。 パラメーター化されたレポートでサブスクライバー データを使用する方法の詳細については、「 Data-Driven サブスクリプションの作成 (SSRS チュートリアル)」を参照してください。
サブスクライバー データ ソースの変更
サブスクライバー データ ソースに以下の変更を加えると、サブスクリプションの実行を防ぐことができます。
サブスクリプションで参照されている列の削除
データ ソースのテーブル構造の変更
データ型およびその他の列プロパティの変更
これらの変更のいずれかを行う場合は、サブスクリプションを更新する必要があります。
こちらもご覧ください
Data-Driven サブスクリプションの作成、変更、削除
Data-Driven サブスクリプション
サブスクリプションと配信 (Reporting Services)