Vorbereiten der Implementierung einer Datenverarbeitungserweiterung

Bevor Sie die Datenverarbeitungserweiterung für SQL Server Reporting Services implementieren, sollten Sie die zu implementierenden Schnittstellen definieren. Möglicherweise möchten Sie erweiterungsspezifische Implementierungen der gesamten Gruppe von Schnittstellen bereitstellen, oder Sie möchten ihre Implementierung auf eine Teilmenge konzentrieren, z. B. die IDataReader Schnittstellen, IDbCommand in denen Clients hauptsächlich mit einem Resultset als DataReader-Objekt interagieren und ihre SSRS-Datenverarbeitungserweiterung als Brücke zwischen dem Resultset und der Datenquelle verwenden.

Sie können Datenverarbeitungserweiterungen auf zwei Arten implementieren:

  • Mit den Klassen der Datenverarbeitungserweiterung können die Microsoft .NET Framework -Datenanbieterschnittstellen und optional die erweiterten Schnittstellen der Datenverarbeitungserweiterung implementiert werden, die Reporting Services bereitstellt.

  • Mit den Klassen der Datenverarbeitungserweiterung können die Schnittstellen der Datenverarbeitungserweiterung implementiert werden, die von Reporting Services vorgegeben werden, und optional die erweiterten Schnittstellen der Datenverarbeitungserweiterung.

Wenn Ihre Reporting Services-Datenverarbeitungserweiterung keine bestimmte Eigenschaft oder Methode unterstützt, implementieren Sie die Eigenschaft oder Methode als No-Operation. Wenn ein Client ein besonderes Verhalten erwartet, lösen Sie eine NotSupportedException-Ausnahme aus.

Hinweis

Die Nicht-Vorgangs-Implementierung einer Eigenschaft oder Methode betrifft nur die Eigenschaften oder Methoden der Schnittstellen, die Sie für die Implementierung auswählen. Optionale Schnittstellen, die sie nicht für die Implementierung auswählen, sollten nicht in der Assembly für Datenverarbeitungserweiterungen enthalten sein. Weitere Informationen zu der Frage, wann eine Schnittstelle erforderlich und wann optional ist, finden Sie in der Tabelle weiter unten in diesem Kapitel.

Erforderliche Erweiterungsfunktionalität

Jede Reporting Services-Datenverarbeitungserweiterung muss die folgenden Funktionen enthalten:

  • Öffnen einer Verbindung zu einer Datenquelle.

  • Analysieren einer Abfrage und Rückgabe einer Liste der Feldnamen für das Resultset.

  • Ausführen einer Abfrage für die Datenquelle und Rückgabe eines Rowsets.

  • Übergeben einwertiger Parameter an die Abfrage.

  • Iteration durch die Zeilen im Rowset und Abrufen der Daten.

Jede Datenverarbeitungserweiterung kann auf folgende Funktionen erweitert werden:

  • Analysieren einer Abfrage und Zurückgeben einer Liste der in der Abfrage verwendeten Parameternamen.

  • Analysieren einer Abfrage und Zurückgeben einer Liste von Feldern, nach der die Abfrage gruppiert wird.

  • Analysieren einer Abfrage und Zurückgeben einer Liste von Feldern, nach der die Abfrage sortiert wird.

  • Angabe eines Benutzernamens und Kennworts für die Verbindung mit der Datenquelle, die unabhängig von der Verbindungszeichenfolge ist.

  • Iteration durch die Zeilen im Rowset und Abrufen der erweiterten Metadaten zu diesen Datenwerten.

  • Aggregieren der Daten im Server.

Verfügbare Erweiterungsschnittstellen

In der folgenden Tabelle werden die verfügbaren Schnittstellen beschrieben. Außerdem wird angegeben, ob die Implementierung erforderlich oder optional ist.

Schnittstelle BESCHREIBUNG Implementierung
IDbConnection Stellt eine eindeutige Sitzung mit einer Datenquelle dar. In einem Client-/Serverdatenbanksystem entspricht die Sitzung möglicherweise einer Netzwerkverbindung mit dem Server. Erforderlich
IDbConnectionExtension Stellt weitere Verbindungseigenschaften dar, die von SSRS-Datenverarbeitungserweiterungen bezüglich Sicherheit und Authentifizierung implementiert werden können. Optional
IDbTransaction Stellt eine lokale Transaktion dar. Erforderlich
IDbTransactionExtension Stellt weitere Transaktionseigenschaften dar, die von SSRS-Datenverarbeitungserweiterungen implementiert werden können. Optional
IDbCommand Stellt eine Abfrage oder einen Befehl dar, der beim Herstellen einer Verbindung zu einer Datenquelle verwendet wird. Erforderlich
IDbCommandAnalysis Stellt weitere Befehlsinformationen für die Analyse einer Abfrage dar und gibt eine Liste von Parameternamen zurück, die in der Abfrage verwendet werden. Optional
IDataParameter Stellt einen Parameter oder ein Name/Wert-Paar dar, das an einen Befehl oder eine Abfrage übergeben wird. Erforderlich
IDataParameterCollection Stellt eine Auflistung aller Parameter dar, die für einen Befehl oder eine Abfrage relevant sind. Erforderlich
IDataReader Stellt eine Methode zum Lesen eines schreibgeschützten Vorwärtsdatenstroms von der Datenquelle dar. Erforderlich
IDataReaderExtension Stellt eine Methode zum Lesen eines oder mehrerer Vorwärtsströme von Resultsets dar, die durch Ausführen eines Befehls an einer Datenquelle abgerufen wurden. Diese Schnittstelle bietet eine größere Unterstützung für Feldaggregate. Optional
IExtension Stellt die Basisklasse für eine Reporting Services-Datenverarbeitungserweiterung dar. Ermöglicht es dem Implementierenden außerdem, einen lokalisierten Namen für die Erweiterung anzugeben und die Konfigurationseinstellungen von der Konfigurationsdatei zur Erweiterung zu übergeben. Erforderlich

Die Schnittstellen der Datenverarbeitungserweiterung sind identisch mit einer Teilmenge der .NET Framework-Datenanbieterschnittstellen, -methoden und -eigenschaften, wenn zutreffend. Weitere Informationen zur Implementierung eines vollständigen .NET-Framework-Datenanbieters finden Sie unter „Implementieren eines .NET Framework-Datenanbieters“ in der .NET Framework-SDK-Dokumentation (Software Development Kit).