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