Freigeben über


Vorbereiten der Implementierung einer Datenverarbeitungserweiterung

Bevor Sie ihre SQL Server Reporting Services-Datenverarbeitungserweiterung 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 einfach 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 eine von zwei Arten implementieren:

  • Ihre Erweiterungsklassen für die Datenverarbeitung können die Microsoft .NET Framework-Datenanbieterschnittstellen und optional die erweiterten Erweiterungsschnittstellen für die Datenverarbeitung implementieren, die von Reporting Services bereitgestellt werden.

  • Ihre Erweiterungsklassen für die Datenverarbeitung können die von Reporting Services bereitgestellten Datenverarbeitungserweiterungsschnittstellen und optional die erweiterten Erweiterungsschnittstellen für die Datenverarbeitung implementieren.

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 bestimmtes Verhalten erwartet, lösen Sie eine NotSupportedException-Ausnahme aus.

Hinweis

Eine No-Operation-Implementierung einer Eigenschaft oder Methode gilt nur für die Eigenschaften und Methoden dieser Schnittstellen, die Sie implementieren möchten. Optionale Schnittstellen, die Sie nicht implementieren möchten, sollten von der Erweiterungsassembly für die Datenverarbeitung ausgeschlossen werden. Weitere Informationen dazu, ob eine Schnittstelle erforderlich oder optional ist, finden Sie in der Tabelle weiter unten in diesem Abschnitt.

Erforderliche Erweiterungsfunktionalität

Jede Reporting Services-Datenverarbeitungserweiterung muss die folgende Funktionalität bereitstellen:

  • Öffnen Sie eine Verbindung mit einer Datenquelle.

  • Analysieren Sie eine Abfrage, und geben Sie eine Liste der Feldnamen für das Resultset zurück.

  • Führen Sie eine Abfrage für die Datenquelle aus, und geben Sie einen Zeilensatz zurück.

  • Übergeben Sie einzelwertige Parameter an die Abfrage.

  • Durchlaufen Sie Zeilen im Zeilensatz, und rufen Sie Daten ab.

Jede Datenverarbeitungserweiterung kann erweitert werden, um die folgenden Funktionen einzuschließen:

  • Analysieren Sie eine Abfrage, und geben Sie eine Liste der Parameternamen zurück, die in der Abfrage verwendet werden.

  • Analysieren Sie eine Abfrage, und geben Sie die Liste der Felder zurück, nach denen die Abfrage gruppiert ist.

  • Analysieren Sie eine Abfrage, und geben Sie die Liste der Felder zurück, nach denen die Abfrage sortiert ist.

  • Geben Sie einen Benutzernamen und ein Kennwort an, um eine Verbindung mit der Datenquelle herzustellen, die unabhängig von der Verbindungszeichenfolge ist.

  • Durchlaufen Sie Zeilen im Zeilensatz, und rufen Sie Hilfsmetadaten zu den Datenwerten ab.

  • Aggregieren von Daten auf dem Server.

Verfügbare Erweiterungsschnittstellen

Die folgende Tabelle beschreibt die verfügbaren Schnittstellen und ob die Implementierung erforderlich oder optional ist.

Schnittstelle BESCHREIBUNG Implementierung
IDbConnection Stellt eine eindeutige Sitzung mit einer Datenquelle dar. Bei einem Client-/Serverdatenbanksystem kann die Sitzung einer Netzwerkverbindung mit dem Server entsprechen. Erforderlich
IDbConnectionExtension Stellt zusätzliche Verbindungseigenschaften dar, die von SSRS-Datenverarbeitungserweiterungen bezüglich Sicherheit und Authentifizierung implementiert werden können. Wahlfrei
IDbTransaction Stellt eine lokale Transaktion dar. Erforderlich
IDbTransactionExtension Stellt zusätzliche Transaktionseigenschaften dar, die von SSRS-Datenverarbeitungserweiterungen implementiert werden können. Wahlfrei
IDbCommand Stellt eine Abfrage oder einen Befehl dar, der beim Herstellen einer Verbindung mit einer Datenquelle verwendet wird. Erforderlich
IDbCommandAnalysis Stellt zusätzliche Befehlsinformationen für die Analyse einer Abfrage dar und gibt eine Liste von Parameternamen zurück, die in der Abfrage verwendet werden. Wahlfrei
IDataParameter Stellt ein Parameter- oder 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 vorwärtsgeschützten, schreibgeschützten Datenstroms aus Ihrer Datenquelle bereit. Erforderlich
IDataReaderExtension Stellt eine Methode zum Lesen eines oder mehrerer Vorwärtsdatenströme von Resultsets bereit, die durch Ausführen eines Befehls an einer Datenquelle abgerufen werden. Diese Schnittstelle bietet zusätzliche Unterstützung für Feldaggregate. Wahlfrei
IExtension Stellt die Basisklasse für eine Reporting Services-Datenverarbeitungserweiterung bereit. Ermöglicht es einem Implementierer außerdem, einen lokalisierten Namen für die Erweiterung einzuschließen und Konfigurationseinstellungen aus der Konfigurationsdatei an die Erweiterung zu übergeben. Erforderlich

Die Schnittstellen für die Datenverarbeitungserweiterung sind mit einer Teilmenge der .NET Framework-Datenanbieterschnittstellen, -Methoden und -Eigenschaften identisch, wenn möglich. Weitere Informationen zum Implementieren eines vollständigen .NET Framework-Datenanbieters finden Sie unter "Implementieren eines .NET Framework-Datenanbieters" in ihrer .NET Framework Software Development Kit (SDK)-Dokumentation.

Siehe auch

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