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