Vorgehensweise: Registrieren eines .NET Framework-Standarddatenanbieters (Reporting Services)

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.

Drittanbieter-Datenanbieter unterstützen nicht notwendigerweise die gesamte Funktionalität der Datenverarbeitungserweiterungen von Reporting Services. Weitere Informationen finden Sie unter Von Reporting Services unterstützte Datenquellen. Informationen zum Erweitern der Funktionalität eines .NET Framework-Datenanbieters finden Sie unter Implementieren von Datenverarbeitungserweiterungen.

Zum Installieren und Registrieren von Datenanbietern müssen Sie sich als Administrator anmelden.

Registrieren eines .NET Framework-Datenanbieters auf dem Berichtsserver

Wenn Sie auf dem Berichtsserver veröffentlichte Berichte mit diesem .NET Framework-Datenanbieter verarbeiten möchten, muss die Assembly auf dem Berichtsserver installiert werden. Zwei Konfigurationsdateien müssen geändert werden. Ändern Sie die Datei rsreportserver.config so, dass der Datenanbieter registriert wird. Ändern Sie die Datei 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 auf dem Berichtsserver unter dem Pfad <Laufwerk>:\Programme\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin angelegt.

  2. Kopieren Sie die Assembly aus dem Bereitstellungsverzeichnis in das BIN-Verzeichnis des Berichtsservers. Sie können die Assembly auch in den 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 auf der MSDN-Website.

So registrieren Sie einen .NET-Datenanbieter auf dem Berichtsserver

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

  2. Öffnen Sie die Datei RSReportServer.config. Sie können die Konfigurationsdatei in Visual Studio oder in einem einfachen Text-Editor wie dem Microsoft-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.

    Attribut

    Beschreibung

    Name

    Geben Sie einen eindeutigen Namen für den Datenanbieter an, z. B. MeinNETDatenanbieter. 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 eingetragene Wert wird beim Erstellen einer neuen Datenquelle in der Dropdownliste der Datenquellentypen angezeigt.

    Type

    Geben Sie eine durch Komma 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 DLL-Dateinamenerweiterung).

    Für eine im BIN-Verzeichnis des Berichtsservers bereitgestellte DLL-Datei kann der Eintrag beispielsweise wie folgt aussehen:

    <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

  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 dem Microsoft-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 kann beispielsweise wie folgt aussehen:

    <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.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 prüfen, ob 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.

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 die Datei RSReportDesigner.config so, dass der Datenanbieter als Datenquelle registriert und der standardmäßige Abfrage-Designer verwendet wird. Ändern Sie die Datei 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 dem Pfad <Laufwerk>:\Programme\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies angelegt.

  2. Kopieren Sie die Assembly aus dem Bereitstellungsverzeichnis in das Verzeichnis PrivateAssemblies auf dem Berichts-Designer-Client. Sie können die Assembly auch in den 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 auf der MSDN-Website.

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 in Visual Studio oder in einem einfachen Text-Editor wie dem Microsoft-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. MeinNETDatenanbieter. 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 eingetragene Wert wird beim Erstellen einer neuen Datenquelle in der Dropdownliste der Datenquellentypen angezeigt.

    Type

    Geben Sie eine durch Komma 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 DLL-Dateinamenerweiterung).

    Für eine im Visual Studio-Verzeichnis PrivateAssemblies bereitgestellte DLL-Datei kann der Eintrag beispielsweise wie folgt aussehen:

    <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 bereitgestellten 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 die Datei RSPreviewPolicy.config in Visual Studio oder in einem einfachen Text-Editor wie etwa dem Windows-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 kann beispielsweise wie folgt aussehen:

    <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 8\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 auf demselben System veröffentlichen, benötigen Sie x64-Datenanbieter zum Anzeigen des Berichts im Berichts-Manager.

Business Intelligence Development Studio 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 .NET Framework-Standarddatenanbieter registrieren, muss dieser systemintern für die betreffende Plattform kompiliert und im entsprechenden Verzeichnis installiert werden. Wenn Sie den Datenanbieter auf einer 32-Bit-Plattform ausführen, muss er für eine 32-Bit-Plattform kompiliert werden. Wenn Sie den Datenanbieter auf einer 64-Bit-Plattform ausführen, muss er 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 eingebettet 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.