データ処理拡張機能の DataReader クラスを実装する

クライアントは DataReader オブジェクトを使用して、読み取り専用、順方向専用のデータ ストリームをデータ ソースから取得できます。 クエリを実行すると結果が返され、結果は DataReader クラスの Read メソッドを使用して要求するまではクライアントのネットワーク バッファーに格納されます。 DataReader クラスを作成するには、IDataReader を実装し、必要に応じて IDataReaderExtension を実装します。 DataReader オブジェクトを使用すると、クエリの結果全体が返されるのを待つのではなく、使用可能になるとすぐにデータを取得し、(既定では) 一度に 1 行のみをメモリに格納することで、アプリケーションのパフォーマンスが向上し、システムのオーバーヘッドが軽減されます。

Command クラスのインスタンスを作成した後に、Command.ExecuteReader を呼び出してデータ ソースから行を取得することによって、DataReader オブジェクトを作成します。 DataReader の実装によって、コマンドの実行により取得した結果セットへの順方向専用アクセス、および各行内の列型、名前、および値へのアクセスという 2 つの基本機能が提供されます。 クライアントは DataReader オブジェクトの Read メソッドを使用して、クエリの結果から行を取得します。

レポート デザイナーでは、DataReader オブジェクトを使用して、結果セットに関するフィールドとスキーマ情報の一覧を取得します。 この取得は、インターフェイスの GetNameGetValueGetFieldType、 および GetOrdinal メソッドを IDataReader 実装することによって実現されます。

IDataReaderExtension インターフェイスでは、結果セットに関する特定の集計情報を指定できます。 DataReader クラス実装の例については、「SQL Server Reporting Services Product Samples」 (SQL Server Reporting Services 製品サンプル) を参照してください。