Compartir a través de


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

El objeto DataReader permite a un cliente recuperar un flujo de datos de solo lectura y de solo avance de un origen de datos. Los resultados se devuelven a medida que se ejecuta la consulta y se almacenan en el búfer de red del cliente hasta que los solicite mediante el método Read de la clase DataReader . Para crear una clase DataReader , implemente IDataReader e implemente IDataReaderExtensionopcionalmente . 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 llamando a Command.ExecuteReader para recuperar filas del origen de datos. La implementación de DataReader debe proporcionar dos funcionalidades básicas: acceso de solo avance a través de los conjuntos de resultados obtenidos mediante la ejecución de un comando y el acceso a los tipos, nombres y valores de columna 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 el Diseñador de informes, el objeto DataReader se usa para recuperar una lista de campos, así como información de esquema sobre el conjunto de resultados. Esto se logra implementando los métodos GetName, GetValue, GetFieldType y GetOrdinal de la IDataReader interfaz.

La IDataReaderExtension interfaz permite proporcionar información de agregación específica sobre el conjunto de resultados. Para obtener una implementación de clase DataReader de ejemplo, vea Ejemplos de productos de SQL Server Reporting Services.

Véase también

Extensiones de Reporting Services
Implementación de una extensión de procesamiento de datos
Biblioteca de extensiones de Reporting Services