Freigeben über


Implementieren einer DataReader-Klasse für eine Datenverarbeitungserweiterung

Mit dem DataReader-Objekt kann ein Client einen schreibgeschützten, vorwärtsgeschützten Datenstrom aus einer Datenquelle abrufen. Ergebnisse werden während der Ausführung der Abfrage zurückgegeben und im Netzwerkpuffer auf dem Client gespeichert, bis Sie sie mithilfe der Read-Methode der DataReader-Klasse anfordern. Zum Erstellen einer DataReader-Klasse implementieren IDataReader und optional implementieren Sie IDataReaderExtensiondiese. Die Verwendung eines DataReader-Objekts erhöht sowohl die Anwendungsleistung, indem Daten abgerufen werden, sobald sie verfügbar sind, anstatt auf die gesamten Ergebnisse der Abfrage zu warten, die zurückgegeben werden sollen, und (standardmäßig) nur eine Zeile gleichzeitig im Arbeitsspeicher zu speichern, wodurch der Systemaufwand reduziert wird.

Nachdem Sie eine Instanz der Command-Klasse erstellt haben, erstellen Sie ein DataReader-Objekt , indem Sie Command.ExecuteReader aufrufen, um Zeilen aus der Datenquelle abzurufen. Die DataReader-Implementierung muss zwei grundlegende Funktionen bieten: Vorwärtszugriff auf die Resultsets, die durch Ausführen eines Befehls und Zugriff auf die Spaltentypen, Namen und Werte innerhalb jeder Zeile abgerufen werden. Clients verwenden die Read-Methode des DataReader-Objekts , um eine Zeile aus den Ergebnissen der Abfrage abzurufen.

Im Berichts-Designer wird Ihr DataReader-Objekt verwendet, um eine Liste von Feldern sowie Schemainformationen zum Resultset abzurufen. Dazu werden die Methoden GetName, GetValue, GetFieldType und GetOrdinal der IDataReader Schnittstelle implementiert.

Über die IDataReaderExtension Schnittstelle können Sie spezifische Aggregationsinformationen zu Ihrem Resultset bereitstellen. Eine Beispielimplementierung der DataReader-Klasse finden Sie unter SQL Server Reporting Services-Produktbeispiele.

Siehe auch

Reporting Services-Erweiterungen
Implementing a Data Processing Extension (Implementieren von Datenverarbeitungserweiterungen)
Erweiterungsbibliothek für Reporting Services