次の方法で共有


サブスクライバー データに対して外部データ ソースを使用する (データ ドリブン サブスクリプション)

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

データ処理の要件

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

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

  • Oracle データベース

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

  • XML データ ソース

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

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

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

  • SAP Netweaver BI データベース

  • レポート モデル

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

クエリの要件

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

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

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

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

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

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

サブスクライバー データベースからレポートにパラメータ値を渡す

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

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

サブスクライバー データ ソースを変更する

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

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

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

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

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