Vorbereiten der Implementierung von Datenverarbeitungserweiterungen

Bevor Sie die SQL ServerReporting Services-Datenverarbeitungserweiterung implementieren, sollten Sie definieren, welche Schnittstellen implementiert werden sollen. Möglicherweise möchten Sie erweiterungsspezifische Implementierungen des gesamten Schnittstellensatzes angeben, oder Sie möchten die Implementierung nur auf eine Teilmenge richten, wie z. B. auf die Schnittstellen IDataReader und IDbCommand, in der die Clients hauptsächlich mit einem Resultset als DataReader-Objekt interagieren würden und in der die SSRS-Datenverarbeitungserweiterung als eine Brücke zwischen Resultset und Datenquelle fungiert.

Sie können Datenverarbeitungserweiterungen auf zwei Arten implementieren:

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

  • 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 die Reporting Services-Datenverarbeitungserweiterung keine bestimmte Eigenschaft oder Methode unterstützt, implementieren Sie die Eigenschaft oder Methode als Nicht-Vorgang. Wenn ein Client ein besonderes Verhalten erwartet, lösen Sie eine NotSupportedException-Ausnahme aus.

HinweisHinweis

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 Erweiterungsfunktionen

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. Bei Client-/Server-Datenbanksystemen kann die Sitzung einer Netzwerkverbindung zum Server entsprechen.

Erforderlich

IDbConnectionExtension

Stellt zusätzliche Verbindungseigenschaften dar, die von den SSRS-Datenverarbeitungserweiterungen für die Sicherheit und Authentifizierung implementiert werden können.

Optional

IDbTransaction

Stellt eine lokale Transaktion dar.

Erforderlich

IDbTransactionExtension

Stellt zusätzliche Transaktionseigenschaften dar, die von den SSRS-Datenverarbeitungserweiterungen für die Sicherheit und Authentifizierung 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 Befehlinformationen für die Analyse einer Abfrage und die Rückgabe einer Liste von Parameternamen dar, 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 stellt zusätzliche Unterstützung für Feldaggregate bereit.

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).

Siehe auch

Verweis

Reporting Services-Erweiterungsbibliothek

Andere Ressourcen

Erweiterungen für Reporting Services

Implementieren von Datenverarbeitungserweiterungen