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

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

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

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

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