サブスクライバ データに対する外部データ ソースの使用

データ ドリブン サブスクリプションでは、外部データ ソースからデータを取得するクエリまたはコマンドによって、動的サブスクリプション データが提供されます。サブスクリプション データは、データ ドリブン サブスクリプション処理の要件を満たす、サポートされているデータ ソースから取得できます。クエリまたはコマンドの構文は、レポート サーバーと一緒にインストールされたデータ処理拡張機能に対して有効である必要があります。

データ処理の要件

Reporting Services は、データ処理拡張機能を使用して、サブスクリプション データを取得します。推奨されているデータ ソースには、次の種類があります。

  • SQL Server リレーショナル データベース

  • Oracle データベース

  • Analysis Services の多次元データ ソースおよびデータ マイニング データ ソース

  • XML データ ソース

    サブスクライバ データ用に XML データ処理拡張機能を使用する場合、サブスクリプションのクエリ タイムアウト設定を大きくしてください。XML データ処理拡張機能では、秒ではなくミリ秒がクエリ タイムアウト値に使用されています。タイムアウトの値を大きくしないと、処理時間の不足でサブスクリプションが失敗することがあります。

    サブスクライバ データ ソースへの接続を構成するときに [資格情報を必要としない] オプションを使用しないでください。XML データ処理拡張機能を使用して実行時にサブスクリプション データを取得する場合、保存されている資格情報を使用することをお勧めします。

サポートされている他の種類のデータ ソースを使用できる場合もありますが、サポートされているすべてのデータ ソースに関して動作が保証されているわけではありません。たとえば、次のデータ ソースの種類は、サブスクライバ データに使用できません。

  • SAP Netweaver BI データベース

  • レポート モデル

データ ドリブン サブスクリプションでカスタム データ処理拡張機能を使用する場合は、IDbCommand インターフェイスと IDataReader インターフェイスを実装する必要があります。データ処理拡張機能では、スキーマのみのクエリ実行をサポートする必要があります。このクエリは、デザイン時に列のメタデータを取得するために使用します。これにより、サブスクリプション定義の配信オプションおよびレポート パラメータにユーザーが列をマップできるようになります。スキーマのみのクエリ実行は、ユーザーによるサブスクリプション定義の初期段階に使用されます。

クエリの要件

サブスクリプション データを取得するクエリを作成する場合は、次の点に注意してください。

  • サブスクリプションに対して作成できるクエリは 1 つのみです。

  • クエリでは、配信オプションおよびレポート パラメータの指定に使用するすべての値を返す必要があります。

  • レポート サーバーでは、結果セットの行ごとにレポート配信が作成されます。結果セットが 300 行の場合、レポート サーバーでは、300 個のレポートについて配信が試行されます。

サブスクライバ データベースの変数データを使用した配信オプションの設定

サブスクライバ データベースのデータを使用して、各受信者に関する配信オプションをカスタマイズできます。利用可能なオプションは、使用している配信拡張機能の種類によって決まります。レポート サーバーの電子メール配信拡張機能を使用している場合、クエリは、各サブスクライバの電子メール エイリアスを含む必要があります。ファイル共有配信を使用している場合、サブスクライバ固有のレポート ファイルの作成や配信先の指定に使用できる値をサブスクライバ データに含める必要があります。詳細については、「Reporting Services でのファイル共有の配信」および「Reporting Services の電子メール配信」を参照してください。

サブスクライバ データベースからレポートへのパラメータ値の受け渡し

パラメータ化されたレポート用のデータ ドリブン サブスクリプションを作成する場合、変数パラメータ値を使用して、各レポートの出力をカスタマイズできます。たとえば、サブスクライバ データベースには、レポート データのフィルタ処理に使用できる従業員 ID 番号、雇用日、職種、および勤務地情報が含まれていることがあります。これらの列データまたは他の使用可能な列データに基づいたパラメータをレポートが受け取ると、そのパラメータを適切な列にマップすることができます。

サブスクライバ フィールドをレポート パラメータにマップするときは、データ型および列の長さに互換性があることを確認してください。データ型に不一致がある場合、サブスクリプションの処理中にエラーが発生します。パラメータ化されたレポートでのサブスクライバ データの使用の詳細については、「チュートリアル : データ ドリブン サブスクリプションの作成」を参照してください。

サブスクライバ データ ソースの変更

サブスクライバ データ ソースに以下の変更を加えると、サブスクリプションの実行を防ぐことができます。

  • サブスクリプションで参照されている列の削除

  • データ ソースのテーブル構造の変更

  • データ型およびその他の列プロパティの変更

これらの変更のいずれかを行う場合は、サブスクリプションを更新する必要があります。