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