次の方法で共有


配信拡張機能の概要

SQL ServerReporting Services により、ユーザーはレポートを作成し、パブリッシュできます。レポートは、作成しパブリッシュした後、さまざまな場所に配信できます。さらに、Reporting Services には配信拡張機能と配信 API も用意されています。開発者は別の配信拡張機能を作成し、Reporting Services の配信機能をさらに拡張することもできます。

次の表は、Reporting Services が備えている配信拡張機能を示しています。

配信拡張機能

説明

レポート サーバーの電子メール

SMTP サーバーを使用して個々のユーザーまたはグループに電子メールでレポートを送信します。

レポート サーバーのファイル共有

組織内のレポートをネットワーク ファイル共有に配布するときに使用します。指定したスケジュールでファイル共有にレポートを自動的にコピーできます。

Reporting Services の配信拡張機能アーキテクチャ

Reporting Services の配信拡張アーキテクチャ

配信拡張機能はサブスクリプションと対になっています。ユーザーはサブスクリプションを作成するとき、レポートの配信方法を決定するために、利用可能な配信拡張機能の 1 つを選択できます。Reporting Services では、サブスクリプションはレポート サーバー データベースに置かれます。イベントが発生すると、Reporting Services はレポート サーバー データベースにあるサブスクリプションとイベントを照合します。イベントに関連付けられたサブスクリプションごとに、レポート サーバーは通知を作成します。データ ドリブン サブスクリプションの場合、受信者ごとに通知が作成されます。通知が作成されると、レポート サーバーでは特定の配信拡張機能を呼び出し、通知に指定された拡張機能設定の値を渡します。配信拡張機能は、選択された配信拡張機能により指定されたユーザーに通知を送信します。

配信拡張機能では、Reporting Services 配信拡張機能 API を実装します。配信拡張機能では、Reporting Services 配信拡張機能 API をサポートすることで、レポート サーバーから通知を受信し、通知のステータスを提供することができます。

レポート サーバーでは、通知とレポートの配信先を管理しません。配信先情報の収集は、配信拡張機能に記述するコードで実行されます。

サブスクリプションと配信拡張機能

クライアント アプリケーションでは、レポート サーバー Web サービスの 2 つのメソッド CreateSubscription および CreateDataDrivenSubscription を使用して、配信拡張機能を使用するサブスクリプションを作成します。既存のサブスクリプションを変更する場合は、SetSubscriptionProperties および SetDataDrivenSubscriptionProperties メソッドを使用します。ユーザーは、サブスクリプションを作成するとき、サブスクリプションの配信拡張機能も選択し、必要な拡張機能設定の値を入力します。ユーザーがサブスクリプションを保存した場合、サブスクリプションはレポート サーバー データベースに格納されます。サブスクリプションではスケジュールまたはイベントに基づいて通知が作成されます。配信が始まると、最初に、選択された配信拡張機能が構成ファイルから構成データを読み込みます。次に、サブスクリプションの拡張機能設定が取得され、値が設定されます。最後に、Deliver メソッドが呼び出され、通知が送信されます。

開発者要件

Reporting Services 配信拡張機能を開発するための条件は次のとおりです。

  • レポート サーバーがインストールされた配置用コンピュータ

  • Microsoft Visual Studio 2005 または Microsoft.NET Framework Software Development Kit (SDK) がインストールされた開発用コンピュータ

  • Reporting Services 機能、特にサブスクリプション機能と配信機能についてよく理解していること

  • レポート マネージャに独自のサブスクリプション ユーザー インターフェイスを実装する場合は、ASP.NET および Web コントロールについてよく理解していること

  • Microsoft Visual C# や MicrosoftVisual Basic .NET など、.NET Framework 言語による開発経験があること