Vorgehensweise: Registrieren eines .NET Framework-Standarddatenanbieters (SSRS)
Wenn Sie zum Abrufen von Daten für ein Reporting Services-Berichtsdataset einen .NET Framework-Datenanbieter eines Drittanbieters verwenden möchten, müssen Sie die .NET Framework-Datenanbieterassembly an zwei Speicherorten bereitstellen und registrieren: auf dem Berichterstellungsclient und auf dem Berichtsserver Auf dem Berichterstellungsclient müssen Sie den Datenanbieter als Datenquellentyp registrieren und einem Abfrage-Designer zuordnen. Beim Erstellen eines Berichtsdatasets können Sie diesen Datenanbieter als Datenquellentyp auswählen. Der zugeordnete Abfrage-Designer wird geöffnet, um das Erstellen von Abfragen für diesen Datenquellentyp zu erleichtern. Der Datenanbieter muss auf dem Berichtsserver als Datenquellentyp registriert werden. Anschließend können Sie veröffentlichte Berichte verarbeiten, für die mithilfe dieses Datenanbieters Daten von einer Datenquelle abgerufen werden.
Es wird nicht notwendigerweise die gesamte Funktionalität von Drittanbieter-Datenanbietern unterstützt, die mit den Datenverarbeitungserweiterungen von Reporting Services verfügbar ist. Weitere Informationen finden Sie unter Von Reporting Services unterstützte Datenquellen (SSRS). Informationen zum Erweitern der Funktionalität eines .NET Framework-Datenanbieters finden Sie unter Implementieren von Datenverarbeitungserweiterungen.
Zum Installieren und Registrieren von Datenanbietern benötigen Sie Anmeldeinformationen als Administrator.
Registrieren eines .NET Framework-Datenanbieters auf dem Berichtsserver
Wenn Sie auf dem Berichtsserver veröffentlichte Berichte verarbeiten möchten, für die dieser .NET Framework-Datenanbieter verwendet wird, muss die Assembly auf dem Berichtsserver installiert werden. Zwei Konfigurationsdateien müssen geändert werden. Ändern Sie rsreportserver.config so, dass der Datenanbieter registriert wird. Ändern Sie rssrvpolicy.config so, dass Codezugriffsberechtigungen für die Assembly erteilt werden.
So installieren Sie eine Datenanbieterassembly auf dem Berichtsserver
Navigieren Sie zum Standardspeicherort des BIN-Verzeichnisses auf dem Berichtsserver, auf dem Sie den .NET Framework-Datenanbieter verwenden möchten. Standardmäßig wird das Verzeichnis bin des Berichtsservers unter dem Pfad <drive>:\Programme\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin gespeichert.
Kopieren Sie die Assembly aus dem Bereitstellungsverzeichnis in das BIN-Verzeichnis des Berichtsservers. Sie können die Assembly im globalen Assemblycache (Global Assembly Cache, GAC) laden. Weitere Informationen finden Sie unter dem Thema Arbeiten mit Assemblys und dem globalen Assemblycache in der .NET Framework-SDK-Dokumentation zur Plattform MSDN.
So registrieren Sie einen .NET-Datenanbieter auf dem Berichtsserver
Erstellen Sie in dem ReportServer-Verzeichnis, das dem BIN-Verzeichnis übergeordnet ist, eine Sicherungskopie der Datei RSReportServer.config.
Öffnen Sie die Datei RSReportServer.config. Sie können die Konfigurationsdatei mit Visual Studio oder in einem einfachen Text-Editor wie Editor öffnen.
Suchen Sie das Data-Element in der Datei RSReportServer.config. Im folgenden Verzeichnis muss ein Eintrag für den .NET Framework-Datenanbieter erstellt werden:
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
Fügen Sie einen Eintrag für den .NET Framework-Datenanbieter hinzu.
Attribut
Beschreibung
Name
Geben Sie einen eindeutigen Namen für den Datenanbieter an, z. B. MyNETDataProvider. Die maximale Länge für das Name-Attribut beträgt 255 Zeichen. Der Name muss für sämtliche Einträge im Extension-Element einer Konfigurationsdatei eindeutig sein. Der hier eingeschlossene Wert wird beim Erstellen einer neuen Datenquelle in der Dropdownliste der Datenquellentypen angezeigt.
Type
Geben Sie eine durch Trennzeichen getrennte Liste ein, die den vollqualifizierten Namespace der Klasse enthält, die die IDbConnection-Schnittstelle implementiert, gefolgt vom Namen der .NET Framework-Datenanbieterassembly (ohne die Dateinamenerweiterung DLL).
Für eine im BIN-Verzeichnis des Berichtsservers bereitgestellte DLL-Datei kann der Eintrag beispielsweise dem Folgenden ähneln:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />
Wenn Sie die Assembly in den GAC (Global Assembly Cache, globaler Assemblycache) laden, müssen Sie die Eigenschaften für starke Namen bereitstellen. Beispiel:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly,Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>
So legen Sie die Codegruppenrichtlinie für einen .NET-Datenanbieter fest
Erstellen Sie in dem Verzeichnis ReportServer, das dem Verzeichnis bin übergeordnet ist, eine Sicherungskopie der Datei rssrvpolicy.config.
Öffnen Sie die Datei rssrvpolicy.config. Sie können die Konfigurationsdatei mit Visual Studio oder in einem einfachen Text-Editor wie Editor öffnen.
Suchen Sie das CodeGroup-Element in der Datei rssrvpolicy.config.
Fügen Sie eine Codegruppe für die Datenanbieterassembly hinzu, durch die die Berechtigung FullTrust erteilt wird. Die Codegruppe könnte beispielsweise der Folgenden ähneln:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="ThisDataProviderCodeGroup" Description="Code group for the .NET data provider"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url= "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\DataProviderAssembly.dll" /> </CodeGroup>
Die URL-Mitgliedschaft bildet eine der vielen Mitgliedschaftsbedingungen, die Sie für den Datenanbieter auswählen können.
Überprüfen der Bereitstellung und der Registrierung
Sie können überprüfen, ob der Datenanbieter erfolgreich auf dem Berichtsserver bereitgestellt wurde, indem Sie den Berichts-Manager öffnen und sicherstellen, dass der Datenanbieter in der Liste verfügbarer Datenquellen vorhanden ist. Weitere Informationen zum Berichts-Manager und zu Datenquellen finden Sie unter Erstellen, Ändern und Löschen von freigegebenen Datenquellen (SSRS).
Registrieren eines .NET Framework-Datenanbieters auf dem Berichts-Designer-Client
Wenn Sie Berichte erstellen möchten, für die dieser .NET Framework-Datenanbieter als Datenquelle verwendet wird, muss die Assembly auf dem Clientcomputer installiert werden, auf dem der Berichts-Designer ausgeführt wird. Zwei Konfigurationsdateien müssen geändert werden. Ändern Sie RSReportDesigner.config so, dass der Datenanbieter als Datenquelle registriert und der standardmäßige Abfrage-Designer verwendet wird. Ändern Sie RSPreviewPolicy.config so, dass Codezugriffsberechtigungen für die Datenanbieterassembly erteilt werden.
So installieren Sie eine Datenanbieterassembly auf dem Berichts-Designer-Client
Navigieren Sie zum Standardspeicherort des Verzeichnisses PrivateAssemblies auf dem Berichts-Designer-Client, auf dem Sie den .NET Framework-Datenanbieter verwenden möchten. Standardmäßig wird das Verzeichnis PrivateAssemblies unter <drive>:\Programme\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies gespeichert.
Kopieren Sie die Assembly aus dem Bereitstellungsverzeichnis in das Verzeichnis PrivateAssemblies des Berichts-Designer-Clients. Sie können die Assembly im globalen Assemblycache (Global Assembly Cache, GAC) laden. Weitere Informationen finden Sie unter dem Thema Arbeiten mit Assemblys und dem globalen Assemblycache in der .NET Framework SDK-Dokumentation zur Plattform MSDN.
So registrieren Sie einen .NET-Datenanbieter auf dem Berichts-Designer-Client
Erstellen Sie eine Sicherungskopie der Datei RSReportDesigner.config im Verzeichnis PrivateAssemblies.
Öffnen Sie die Datei RSReportDesigner.config mit Visual Studio oder in einem einfachen Text-Editor wie Editor.
Suchen Sie das Data-Element in der Datei RSReportDesigner.config. Im folgenden Verzeichnis muss ein Eintrag für den Datenanbieter erstellt werden:
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
Fügen Sie einen Eintrag für den Datenanbieter hinzu.
Attribut
Beschreibung
Name
Geben Sie einen eindeutigen Namen für den Datenanbieter an, z. B. MyNETDataProvider. Die maximale Länge für das Name-Attribut beträgt 255 Zeichen. Der Name muss für sämtliche Einträge im Extension-Element einer Konfigurationsdatei eindeutig sein. Der hier eingeschlossene Wert wird beim Erstellen einer neuen Datenquelle in der Dropdownliste der Datenquellentypen angezeigt.
Type
Geben Sie eine durch Trennzeichen getrennte Liste ein, die den vollqualifizierten Namespace der Klasse enthält, die die IDbConnection-Schnittstelle implementiert, gefolgt vom Namen der .NET Framework-Datenanbieterassembly (ohne die Dateinamenerweiterung DLL).
Für eine im Verzeichnis PrivateAssemblies von Visual Studio bereitgestellte DLL-Datei kann der Eintrag beispielsweise dem Folgenden ähneln:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />
Wenn Sie die Assembly in den GAC (Global Assembly Cache, globaler Assemblycache) laden, müssen Sie die Eigenschaften für starke Namen bereitstellen. Beispiel:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>
Suchen Sie das Designer-Element in der Datei RSReportDesigner.config. Im folgenden Verzeichnis muss ein Eintrag für den .NET Framework-Datenanbieter erstellt werden:
<Extensions> <Designer> <Your data provider configuration information goes here> </Designer> </Extensions>
Fügen Sie der Datei RSReportDesigner.config unter dem Designer-Element den folgenden Eintrag hinzu. Sie müssen nur das Name-Attribut durch den in früheren Einträgen angegebenen Namen ersetzen.
<Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
So legen Sie die Codegruppenrichtlinie für einen .NET-Datenanbieter auf dem Berichts-Designer-Client fest
Erstellen Sie eine Sicherungskopie der Datei RSPreviewPolicy.config im Verzeichnis PrivateAssemblies.
Öffnen Sie RSPreviewPolicy.config in Visual Studio oder einem einfachen Text-Editor, z. B. im Windows-Editor.
Suchen Sie das CodeGroup-Element in der Datei RSPreviewPolicy.config.
Fügen Sie eine Codegruppe für die .NET Framework-Datenanbieterassembly hinzu, durch die die Berechtigung FullTrust erteilt wird. Die Codegruppe könnte beispielsweise der Folgenden ähneln:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="ThisDataProviderCodeGroup" Description="Code group for the .NET data provider"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url= " C:\Program Files\Microsoft Visual Studio 9\Common7\IDE\PrivateAssemblies\DataProviderAssembly.dll" /> </CodeGroup>
Die URL-Mitgliedschaft ist eine der vielen Mitgliedschaftsbedingungen, die Sie für den Datenanbieter auswählen können.
Überprüfen der Bereitstellung und der Registrierung auf dem Berichts-Designer-Client
Sie können die Bereitstellung erst überprüfen, wenn Sie alle Instanzen von Visual Studio auf Ihrem lokalen Computer geschlossen haben. Wenn Sie alle aktuellen Sitzungen beendet haben, können Sie überprüfen, ob der Datenanbieter erfolgreich für den Berichts-Designer bereitgestellt wurde, indem Sie in Visual Studio ein neues Berichtsprojekt erstellen. Der Datenanbieter sollte beim Erstellen eines neuen Datasets für den Bericht in der Liste der verfügbaren Datenquellentypen aufgeführt werden.
Bedingungen bezüglich der Plattform
Auf einer 64-Bit-Plattform (x64) wird Business Intelligence Development Studio im 32-Bit-WOW-Modus ausgeführt. Wenn Sie Berichte auf einer x64-Plattform erstellen, müssen auf dem Berichterstellungsclient 32-Bit-Datenanbieter installiert sein, um eine Vorschau der Berichte zu ermöglichen. Wenn Sie den Bericht in demselben System veröffentlichen, benötigen Sie x64-Datenanbieter zum Anzeigen des Berichts im Berichts-Manager.
Business Intelligence Development Studio wird für Itanium-basierte Plattformen nicht unterstützt.
Die mit Reporting Services installierten Datenverarbeitungserweiterungen müssen für jede Plattform systemintern kompiliert und in den richtigen Verzeichnissen installiert werden. Wenn Sie einen benutzerdefinierten Datenanbieter oder einen .NET Framework-Standarddatenanbieter registrieren, muss dieser systemintern für die betreffende Plattform kompiliert und im entsprechenden Verzeichnis installiert werden. Wenn Sie diesen auf einer 32-Bit-Plattform ausführen, muss der Datenanbieter für eine 32-Bit-Plattform kompiliert werden. Wenn Sie ihn auf einer 64-Bit-Plattform ausführen, muss der Datenanbieter für die 64-Bit-Plattform kompiliert werden. Sie können keinen 32-Bit-Datenanbieter verwenden, der in 64-Bit-Schnittstellen für eine 64-Bit-Plattform eingeschlossen ist. Überprüfen Sie Ihre Drittanbietersoftware auf Informationen dazu, ob der Datenanbieter für die installierte Plattform verwendet werden kann. Weitere Informationen zur Unterstützung von Datenanbietern und Plattformen finden Sie unter Von Reporting Services unterstützte Datenquellen (SSRS).