Registrieren eines .NET Framework-Standarddatenproviders (SSRS)

Wenn Sie zum Abrufen von Daten für ein Reporting Services-Berichtsdataset einen fremden .NET Framework-Datenanbieter 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 fremden 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

  1. 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 <Laufwerk>>:\Programme\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin gespeichert.

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

  1. Erstellen Sie in dem ReportServer-Verzeichnis, das dem BIN-Verzeichnis übergeordnet ist, eine Sicherungskopie der Datei RSReportServer.config.

  2. Öffnen Sie die Datei "RSReportServer.config". Sie können die Konfigurationsdatei mit Visual Studio oder in einem einfachen Text-Editor wie Editor öffnen.

  3. 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>  
    
  4. Fügen Sie einen Eintrag für den .NET Framework-Datenanbieter hinzu.

    attribute 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.
    Typ 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, globalen 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"/>  
    

Festlegen der Codegruppenrichtlinie für einen .NET-Datenanbieter

  1. Erstellen Sie im Verzeichnis "ReportServer", das dem Verzeichnis "bin" übergeordnet ist, eine Sicherungskopie der Datei "rssrvpolicy.config".

  2. Öffnen Sie die Datei „rssrvpolicy.config“. Sie können die Konfigurationsdatei mit Visual Studio oder in einem einfachen Text-Editor wie Editor öffnen.

  3. Suchen Sie das CodeGroup -Element in der Datei rssrvpolicy.config.

  4. 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 ist 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 das Webportal öffnen und sicherstellen, dass der Datenanbieter in der Liste verfügbarer Datenquellen vorhanden ist. Weitere Informationen zum Webportal und 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

  1. 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 <Laufwerk>:\Programme\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies gespeichert.

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

  1. Erstellen Sie eine Sicherungskopie der Datei "RSReportDesigner.config" im Verzeichnis "PrivateAssemblies".

  2. Öffnen Sie die Datei "RSReportDesigner.config" mit Visual Studio oder in einem einfachen Text-Editor wie Editor.

  3. 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>  
    
  4. 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.
    Typ 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"/>  
    
  5. 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>  
    
  6. 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

  1. Erstellen Sie eine Sicherungskopie der Datei "RSPreviewPolicy.config" im Verzeichnis "PrivateAssemblies".

  2. Öffnen Sie „RSPreviewPolicy.config“ in Visual Studio oder einem einfachen Text-Editor, z. B. Editor.

  3. Suchen Sie das CodeGroup -Element in der Datei RSPreviewPolicy.config.

  4. 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 SQL Server Data Tools (SSDT) 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 Webportal.

SQL Server-Data Tools (SSDT) wird auf Itanium-basierten 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 standardmäßigen .NET Framework-Datenanbieter 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 zu Datenanbietern und zur Plattformunterstützung finden Sie unter Von Reporting Services unterstützte Datenquellen (SSRS).

Weitere Informationen

Konfigurieren und Verwalten eines Berichtsservers (einheitlicher SSRS-Modus)
Implementing a Data Processing Extension (Implementieren von Datenverarbeitungserweiterungen)
Reporting Services-Konfigurationsdateien
Code Access Security in Reporting Services (Codezugriffssicherheit in Reporting Services)