Implementieren einer Verbinden ion-Klasse für eine Datenverarbeitungserweiterung

Das Connection-Objekt stellt eine Datenbankverbindung oder eine ähnliche Ressource dar und bildet den Ausgangspunkt für Benutzer einer SQL Server Reporting Services-Datenverarbeitungserweiterung. Es stellt Verbindungen zum Datenbankserver dar, obwohl auch jede Entität mit ähnlichem Verhalten als Connection zur Verfügung gestellt werden kann.

Erstellen Sie eine Klasse, die IDbConnection und optional IDbConnectionExtension implementiert, um ein Connection-Objekt zu implementieren.

Sie müssen in Ihrer Implementierung sicherstellen, dass eine Verbindung erstellt und geöffnet wird, bevor die Befehle ausgeführt werden können. Stellen Sie in Ihrer Implementierung sicher, dass Clients die Verbindungen ausdrücklich (und nicht implizit) öffnen und schließen. Führen Sie die Sicherheitsprüfungen aus, wenn die Verbindung hergestellt wird. Das Erfordern einer vorhandenen Verbindung für die anderen Klassen in Ihrer SSRS-Datenverarbeitungserweiterung stellt sicher, dass sicherheitsrelevante Prüfungen immer ausgeführt werden, wenn Sie mit Ihrer Datenquelle arbeiten.

Die Eigenschaften der gewünschten Verbindung werden als Verbindungszeichenfolge dargestellt. SSRS-Datenverarbeitungserweiterungen sollten die ConnectionString Eigenschaft mithilfe des vertrauten Namens-Wert-Paarsystems unterstützen, das von OLE DB definiert wird.

Hinweis

Connection-Objekte können häufig nur mit großem Ressourcenaufwand abgerufen werden. Daher sollten Sie zur Reduzierung dieses Effekts ein Pooling der Verbindungen oder andere Techniken in Erwägung ziehen.

IDbConnection erbt von IExtension. Sie müssen die IExtension-Schnittstelle als Teil der Implementierung der Verbindungsklassen implementieren. Durch die IExtension-Schnittstelle kann eine Klasse einen lokalisierten Erweiterungsnamen implementieren und erweiterungsspezifische Konfigurationsdaten verarbeiten, die in der Reporting Services-Konfigurationsdatei gespeichert sind.

Das Connection-Objekt enthält die LocalizedName-Eigenschaft durch seine Implementierung von IExtension. Reporting Services-Datenverarbeitungserweiterungen sollten die LocalizedName Eigenschaft unterstützen. Durch die Unterstützung können Benutzer auf einen vertrauten, lokalisierten Namen für die Erweiterung in einer Benutzeroberfläche stoßen, z. B. Berichts-Manager.

IExtension versetzt das Connection-Objekt in die Lage, in der Datei „RSReportServer.config“ gespeicherte, benutzerdefinierte Konfigurationsdaten abzurufen und zu verarbeiten. Weitere Informationen zur Verarbeitung benutzerdefinierter Konfigurationsdaten finden Sie in der Methode SetConfiguration.

Die implementierte Klasse wird nicht aus dem Arbeitsspeicher entladen, wenn die restlichen Datenverarbeitungserweiterungsklassen IExtension entladen werden. Aus diesem Grunde können Sie Ihre Erweiterungsklasse verwenden, um Verbindungsübergreifende Statusinformationen zu speichern oder Um Daten zu speichern, die im Arbeitsspeicher zwischengespeichert werden können. Die Extension-Klasse verbleibt im Arbeitsspeicher, solange der Berichtsserver ausgeführt wird.

Sie können die Connection-Klasse so erweitern, dass Anmeldeinformationen in Reporting Services unterstützt werden, indem Sie IDbConnectionExtension implementieren. Wenn Sie die Eigenschaften IntegratedSecurity, UserName und Password der Schnittstelle IDbConnectionExtension implementieren, aktivieren Sie das Kontrollkästchen Integrierte Sicherheit und die Textfelder Benutzername und Kennwort im Dialogfeld Datenquelle im Berichts-Designer. Hierdurch kann der Berichts-Designer die Anmeldeinformationen für Datenquellen speichern und abrufen, die die Authentifizierung unterstützen. Die Anmeldeinformationen werden sicher gespeichert und verwendet, wenn Berichte im Vorschaumodus gerendert werden.

Hinweis

Die Implementierung von IDbConnectionExtension erfordert es implizit, dass Sie die Elemente der IDbConnection-Schnittstelle und der IExtension-Schnittstelle implementieren.

Ein Beispiel für Verbinden ion-Klassenimplementierung finden Sie unter Reporting Services Samples on CodePlex (SQL Server Reporting Services SSRS).For a sample Verbinden ion class implementation, see Reporting Services Samples on CodePlex (SQL Server Reporting Services SSRS).