Visual Studio 2010 の Reporting Services および ReportViewer コントロール

ReportViewer コントロールは、Visual Studio 2010 の ASP.NET コントロールと Windows フォーム コントロールで、それぞれ ASP.NET Web アプリケーション (または Web サイト) の AJAX 対応 Web ページと Windows フォーム アプリケーションのフォームに追加できます。このコントロールを使用すると、レポートの処理および表示の機能を直接アプリケーションに埋め込むことができます。また、統合されたデザイン環境が提供されるため、ADO.NET データ オブジェクトのデータを使用してクライアント レポート定義 (.rdlc) を作成できます。完全な機能を備えた API により、コントロールやレポートにプログラムでアクセスできるため、レポートの機能を実行時に構成することができます。さらに、Visual Studio 2010 の ASP.NET AJAX コントロールでは、Microsoft AJAX ライブラリに基づいて構築された JavaScript API のセットが導入されています。この API セットを使用すると、クライアント側プログラミングを使用してホスト アプリケーションと ReportViewer コントロールを連携させることができます。

ReportViewer コントロールの詳細については、Visual Studio 製品マニュアルの「ReportViewer コントロール」を参照してください。

機能の要約

次の表では、ReportViewer コントロールと Reporting Services を、レポート処理、データの取得、配置、レポートのデザインなどについて比較しています。この情報を使用して、どちらの Microsoft レポート テクノロジがアプリケーションに適しているかを判断できます。

注意

リモート処理モードでは、Visual Studio 2010 の ReportViewer コントロールで SQL Server 2008 Reporting Services または SQL Server 2008 R2 Reporting Services がサポートされます。

機能

ReportViewer コントロール

SQL Server Reporting Services

レポート処理

ローカル処理モード:

クライアント アプリケーション内でレポートを処理します。

リモート処理モード:

SQL Server Reporting Services レポート サーバー上で処理されるサーバー レポートを表示します。

レポート サーバー上でレポートを処理します。

レポートの出力形式

ローカル処理モード:

Windows アプリケーションで実行されるレポートの場合は GDI、ASP.NET Web ページで実行されるレポートの場合は HTML。

エクスポート形式は、Excel、PDF、および Word です。

リモート処理モード:

使用可能な表示形式は、SQL Server Reporting Services レポート サーバー上に構成されている表示拡張機能によって決まります。

HTML、MHTML、TIFF、PDF、Excel、Word、CSV、および XML。

カスタムの出力形式を作成することもできます。

レポート機能

ローカル処理モード:

多次元データ、リレーショナル データ、およびビジュアル データの対話型レポートと静的レポート。

レポート内で実行するカスタム アセンブリを定義できます。

条件付き書式や集計のための式を使用できます。

リモート処理モード:

使用可能な機能は、SQL Server Reporting Services レポート サーバーによって決まります。

ローカル処理モードでは、ReportViewer コントロールで提供されるすべてのレポート機能を利用できるほか、カスタム レポート項目を作成してレポート内で実行できます。

SQL Server 2008 R2 Reporting Services では、マップ、スパークライン、集計の集計、処理および表示拡張機能などの追加機能がサポートされます。

データ ソースの種類とデータの取得

ローカル処理モード:

ADO.NET データ テーブルに直接バインドして、コントロールに提供される DataTable のインスタンスを使用します。ビジネス オブジェクトに直接バインドすることもできます。

リモート処理モード:

使用可能なデータ ソースの種類は、SQL Server Reporting Services レポート サーバー上に構成されているデータ処理拡張機能によって決まります。

レポート サーバーとリモート データ サーバーのデータ処理とレポート処理は統合されています。

レポート サーバーのデータ処理拡張機能によって、サポートされるデータ ソースの種類が決まります。既定のデータ ソースには、SQL Server、Analysis Services、SQL Server Integration Services、Oracle、XML、および OLEDB があります。SQL Server 2008 R2 Reporting Services でサポートされるデータ ソースには、SQL Server SharePoint リスト、SQL Azure、および SQL Server 並列データ ウェアハウスも含まれます。

カスタム データ処理拡張機能を作成すると、その他の種類のデータ ソースをサポートできます。

レポートのパラメーター化

ローカル処理モード:

レポート パラメーターの組み込みサポートにより、静的な値に基づく結果セットの条件付きフィルターの機能が提供されます。

ローカル処理モードでは、データ処理に使用される値を渡すためのパラメーター入力エリアが ReportViewer コントロールにありません。データ処理とレポート処理は統合されていません。クエリ パラメーターやレポート パラメーターに対するユーザーからの入力を実行時に受け取るには、アプリケーションでそれをサポートするためのコードを記述する必要があります。

リモート処理モード:

SQL Server Reporting Services と同じです。

レポート パラメーターはクエリ パラメーターにマップすることができます。これにより、レポート パラメーターの値を実行時にクエリに渡すことができます。パラメーター プロンプト領域はレポート上に既定で用意されています。パラメーターのプロパティをデザイン時に定義して、実行時に管理できます。

レポート デザインと Visual Studio の統合

ローカル処理モード:

Visual Studio でクライアント レポート定義 (.rdlc) ファイルを作成します。レポート テンプレートをプロジェクトに追加すると、レポート定義ファイルが作成され、そのファイルがプロジェクトに追加されて、統合されたレポート デザイナーが Visual Studio のワークスペースに開かれます。また、レポート ウィザード テンプレートをプロジェクトに追加すると、一連の手順に従ってレポートを作成できます。

Visual Studio のデータ ソース ウィザードを使用して、後からレポートで使用するデータをアプリケーションで提供できます。

Visual Studio のレポート デザイナーには [プレビュー] タブはありません。レポートをプレビューするには、アプリケーションを実行して、そこに埋め込まれたレポートをプレビューします。

Visual Studio のレポート デザイナーは、レポート データ ウィンドウと統合されています。レポート データ ウィンドウからレポートにフィールドをドラッグすると、レポート デザイナーによってデータセットに関するメタデータがレポート定義ファイルにコピーされます。このメタデータが ReportViewer コントロールによって使用され、データ バインド コードが自動的に生成されます。

リモート処理モード:

SQL Server Reporting Services と同じです。

Business Intelligence Development Studio を使用して Visual Studio でレポート定義を作成します。Business Intelligence Development Studio は、SQL Server コンポーネントに固有のプロジェクト テンプレートを追加します。レポートを作成するには、レポート サーバー プロジェクト テンプレートまたはレポート サーバー プロジェクト ウィザード テンプレートを選択します。

[データ] タブ、[レイアウト] タブ、および [プレビュー] タブを使用して、データの定義、レポート レイアウトの作成、およびレポートのプレビューを同じワークスペースで行うことができます。

配置と配布

再配布可能なコントロールと .rdlc ファイルをアプリケーションに含めることができます。ローカル処理モードおよびリモート処理モードでは、レポート定義をストリームとして渡すこともできます。

ReportViewer は、作成して配置するアプリケーションの Windows フォームや Web ページでレポートをホストします。

[ReportViewer] ツール バーには、実行時の操作をサポートするためのページ ナビゲーション、印刷、検索、および形式のエクスポートの機能が用意されています。

SQL Server Reporting Services レポート サーバーを配置します。レポート定義はレポート サーバー データベースに格納され、サーバー上で処理されて、ブラウザー ベースのアプリケーションやカスタム アプリケーションで表示されます。

レポート ツール バーには、ページ ナビゲーション、印刷、検索、および形式のエクスポートの機能が用意されています。

表示ツールと SharePoint Web パーツを使用すると、レポートを表示できます。

配布機能については、サブスクリプションに基づく電子メール アドレスへのレポートの配信やファイル共有の場所を利用できます。

インターネット アクセス

Web ページでホストされる ReportViewer コントロールは、インターネットに接続された Web アプリケーションでレポートを利用できるようにする場合に推奨される方法です。

アプリケーションでサポートされているセキュリティ インフラストラクチャを使用して、コントロールとレポートを既存の Web アプリケーションに組み込むことができます。

インターネット アクセス用に Reporting Services レポート サーバーを構成できます。アプリケーションやユーザーの要件によっては、カスタム認証拡張機能の作成、構成ファイルの変更、Secure Sockets Layer (SSL) 用のサーバーの構成などが必要になる場合もあります。詳細については、「エクストラネット/インターネット配置の計画」を参照してください。

エンタープライズ機能

ReportViewer コントロールでは、レポート サーバーのスケールアウト配置のレポートをホストできます (レポート サーバーの配置はコントロールに対して透過的です)。

このコントロールは、あらゆる高可用性配置モデルで実行されるカスタム アプリケーションで使用できます。

Reporting Services は、次のエンタープライズ機能をサポートします。

  • スケールアウト配置

  • スケジュールされたレポート処理と要求時のレポート処理

  • 要求時に 1 回だけ使用するために作成したりサーバーに保存したりできるアドホック レポート

  • カスタマイズされたレポート出力を動的な受信者一覧に転送するデータ ドリブン サブスクリプション

  • 管理と構成のツール

カスタマイズ

カスタマイズは API によってサポートされます。

また、レポートや [ReportViewer] ツール バーのプロパティを設定して、表示方法や利用可能な機能を指定できます。

データ処理、レポート配信、カスタム認証、およびレポート表示のサポートを追加する拡張機能を作成できます。

レポート、レポート ツール バー、およびレポート サーバーのプロパティを設定できます。

その他のカスタマイズは、多彩な API によってサポートされます。

サンプルとチュートリアル

Visual Studio 製品マニュアルまたは MSDN の「サンプルとチュートリアル」を参照してください。

Reporting Services のサンプルとチュートリアルについては、「チュートリアルの検索方法」を参照してください。

ドキュメント

Visual Studio 製品マニュアルまたは MSDN の「ReportViewer コントロール (Visual Studio)」を参照してください。

Reporting Services のドキュメントは、SQL Server オンライン ブックに含まれています。