Partager via


Implémentation d’une classe DataReader pour une extension de traitement des données

L’objet DataReader permet à un client de récupérer un flux de données en lecture seule et en lecture seule à partir d’une source de données. Les résultats sont retournés lorsque la requête s’exécute et sont stockés dans la mémoire tampon réseau sur le client jusqu’à ce que vous les demandiez à l’aide de la méthode Read de la classe DataReader . Pour créer une classe DataReader , implémenter IDataReader et éventuellement implémenter IDataReaderExtension. L’utilisation d’un objet DataReader augmente les performances de l’application en récupérant des données dès qu’elles sont disponibles, plutôt que d’attendre que les résultats entiers de la requête soient retournés et (par défaut) en stockant une seule ligne à la fois en mémoire, ce qui réduit la surcharge système.

Après avoir créé une instance de votre classe Command , vous créez un objet DataReader en appelant Command.ExecuteReader pour récupérer des lignes à partir de la source de données. L’implémentation de DataReader doit fournir deux fonctionnalités de base : un accès en avant uniquement sur les jeux de résultats obtenus en exécutant une commande et un accès aux types de colonnes, noms et valeurs au sein de chaque ligne. Les clients utilisent la méthode Read de l’objet DataReader pour obtenir une ligne à partir des résultats de la requête.

Dans le Concepteur de rapports, votre objet DataReader est utilisé pour récupérer une liste de champs ainsi que des informations de schéma sur le jeu de résultats. Pour ce faire, implémentez les méthodes GetName, GetValue, GetFieldType et GetOrdinal de l’interfaceIDataReader.

L’interface IDataReaderExtension vous permet de fournir des informations d’agrégation spécifiques sur votre jeu de résultats. Pour obtenir un exemple d’implémentation de classe DataReader , consultez les exemples de produits SQL Server Reporting Services.

Voir aussi

Reporting Services Extensions
Mise en œuvre d’une extension pour le traitement des données
Bibliothèque d’extensions Reporting Services