데이터 처리 확장 프로그램에 대한 DataReader 클래스 구현

DataReader 개체가 있으면 클라이언트에서는 읽기 전용, 정방향 전용 데이터 스트림을 데이터 원본에서 검색할 수 있습니다. 결과는 쿼리 실행으로 반환되고 DataReader 클래스의 Read 메서드를 사용하여 요청할 때까지 클라이언트의 네트워크 버퍼에 저장됩니다. DataReader 클래스를 만들려면 IDataReader를 구현하고 선택적으로 IDataReaderExtension을 구현합니다. DataReader 개체를 사용하면 전체 쿼리 결과가 반환될 때까지 기다리지 않고 사용 가능할 때 즉시 데이터를 검색하고 (기본적으로) 한 번에 행 한 개씩만 메모리에 저장하여 시스템 오버헤드를 줄임으로써 응용 프로그램 성능이 높아집니다.

Command 클래스 인스턴스를 만든 후 Command.ExecuteReader 호출을 통해 데이터 원본에서 행을 검색하여 DataReader 개체를 만듭니다. DataReader 구현은 두 가지 기본적인 기능을 제공해야 하며 이 두 가지 기능은 명령 실행에서 얻은 결과 집합에 대한 정방향 전용 액세스 기능과 각 행 내의 열 유형, 이름, 값에 대한 액세스 기능입니다. 클라이언트는 DataReader 개체의 Read 메서드를 사용하여 쿼리 결과에서 행을 얻습니다.

보고서 디자이너에서 DataReader 개체는 결과 집합에 대한 스키마 정보 및 필드 목록을 검색하는 데 사용됩니다. IDataReader 인터페이스의 GetName, GetValue, GetFieldType,GetOrdinal 메서드를 구현하여 이 작업을 수행할 수 있습니다.

IDataReaderExtension 인터페이스를 통해 결과 집합에 대한 특정 집계 정보를 제공할 수 있습니다. 예제 DataReader 클래스 구현은 SQL Server Reporting Services 제품 예제(SQL Server Reporting Services Product Samples)를 참조하십시오.