Compartir vía


Implementación de una clase DataReader para una extensión de procesamiento de datos

El objeto DataReader permite a un cliente recuperar de un origen de datos una secuencia de datos de solo lectura y solo avance. Los resultados se devuelven a medida que se ejecuta la consulta y se almacenan en el búfer de red en el cliente hasta que se los solicita mediante el método Read de la clase DataReader. Para crear una clase DataReader, implemente IDataReader y, si quiere, IDataReaderExtension. El uso de un objeto DataReader aumenta el rendimiento de la aplicación mediante la recuperación de datos tan pronto como esté disponible, en lugar de esperar a que se devuelvan los resultados completos de la consulta, y (de forma predeterminada) almacenando solo una fila a la vez en la memoria, lo que reduce la sobrecarga del sistema.

Después de crear una instancia de la clase Command, cree un objeto DataReader al llamar a Command.ExecuteReader para recuperar filas del origen de datos. La implementación de DataReader debe proporcionar dos capacidades básicas: el acceso de solo avance a los conjuntos de resultados obtenidos al ejecutar un comando y el acceso a los tipos de columna, los nombres y los valores dentro de cada fila. Los clientes usan el método Read del objeto DataReader para obtener una fila de los resultados de la consulta.

En Diseñador de informes, el objeto DataReader se usa para recuperar una lista de campos e información de esquema sobre el conjunto de resultados. Esta recuperación se realiza mediante la implementación de los métodos GetName, GetValue, GetFieldType y GetOrdinal de la IDataReader interfaz.

La interfaz IDataReaderExtension le permite proporcionar información de agregaciones concretas acerca del conjunto de resultados. Para obtener un ejemplo de implementación de la clase DataReader, vea Ejemplos del producto SQL Server Reporting Services.