DataReader オブジェクトを使用すると、クライアントはデータ ソースからデータの読み取り専用の転送専用ストリームを取得できます。 クエリの実行時に結果が返され、DataReader クラスの Read メソッドを使用して要求するまで、クライアントのネットワーク バッファーに格納されます。 DataReader クラスを作成するには、IDataReaderを実装し、必要に応じてIDataReaderExtensionを実装します。 DataReader オブジェクトを使用すると、クエリの結果全体が返されるのを待つのではなく、使用可能になるとすぐにデータを取得し、(既定では) 一度に 1 行のみをメモリに格納することで、システムのオーバーヘッドを減らすことで、アプリケーションのパフォーマンスが向上します。
Command クラスのインスタンスを作成した後、Command.ExecuteReader を呼び出してデータ ソースから行を取得することで、DataReader オブジェクトを作成します。 DataReader の実装では、2 つの基本的な機能を提供する必要があります。コマンドを実行して取得した結果セットに対する前方アクセスと、各行内の列の型、名前、値へのアクセスです。 クライアントは、DataReader オブジェクトの Read メソッドを使用して、クエリの結果から行を取得します。
レポート デザイナーでは、 DataReader オブジェクトを使用して、フィールドの一覧と結果セットに関するスキーマ情報を取得します。 これは、IDataReader インターフェイスの GetName、GetValue、GetFieldType、および GetOrdinal メソッドを実装することによって実現されます。
IDataReaderExtension インターフェイスを使用すると、結果セットに関する特定の集計情報を提供できます。 DataReader クラスの実装例については、「SQL Server Reporting Services 製品サンプル」を参照してください。
こちらもご覧ください
Reporting Services 拡張機能
データ処理拡張機能の実装
Reporting Services 拡張機能ライブラリ