Vorgehensweise: Registrieren eines .NET Framework-Standarddatenproviders

Neu: 12. Dezember 2006

Wenn Sie zum Abrufen von Daten für ein Reporting Services-Berichtsdataset einen .NET Framework-Datenprovider eines Drittanbieters verwenden möchten, müssen Sie die .NET Framework-Datenproviderassembly an zwei Speicherorten bereitstellen und registrieren: auf dem Berichterstellungsclient und auf dem Berichtsserver. Auf dem Berichterstellungsclient müssen Sie den Datenprovider als Datenquellentyp registrieren und einem Abfrage-Designer zuordnen. Beim Erstellen eines Berichtsdatasets können Sie diesen Datenprovider als Datenquellentyp auswählen. Der zugeordnete Abfrage-Designer wird geöffnet, um das Erstellen von Abfragen für diesen Datenquellentyp zu erleichtern. Der Datenprovider muss auf dem Berichtsserver als Datenquellentyp registriert werden. Anschließend können Sie veröffentlichte Berichte verarbeiten, für die mithilfe dieses Datenproviders Daten von einer Datenquelle abgerufen werden.

Es wird nicht notwendigerweise die gesamte Funktionalität von Drittanbieter-Datenprovidern unterstützt, die mit den Datenverarbeitungserweiterungen von Reporting Services verfügbar ist. Weitere Informationen finden Sie unter Von Reporting Services unterstützte Datenquellen. Informationen zum Erweitern der Funktionalität eines .NET Framework-Datenproviders finden Sie unter Implementing a Data Processing Extension.

Zum Installieren und Registrieren von Datenprovidern benötigen Sie Anmeldeinformationen als Administrator.

Registrieren eines .NET Framework-Datenproviders auf dem Berichtsserver

Wenn Sie auf dem Berichtsserver veröffentlichte Berichte verarbeiten möchten, für die dieser .NET Framework-Datenprovider verwendet wird, muss die Assembly auf dem Berichtsserver installiert werden. Zwei Konfigurationsdateien müssen geändert werden. Ändern Sie rsreportserver.config so, dass der Datenprovider registriert wird. Ändern Sie rssrvpolicy.config so, dass Codezugriffsberechtigungen für die Assembly erteilt werden.

So installieren Sie eine Datenproviderassembly auf dem Berichtsserver

  1. Navigieren Sie zum Standardspeicherort des BIN-Verzeichnisses auf dem Berichtsserver, auf dem Sie den .NET Framework-Datenprovider verwenden möchten. Standardmäßig wird das BIN-Verzeichnis des Berichtsservers unter dem Pfad <drive>:\Program Files\Microsoft SQL Server\MSSQL.3\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 msdn.microsoft.com in der Dokumentation zum .NET Framework-SDK im Thema Arbeiten mit Assemblys und dem globalen Assemblychache.

So registrieren Sie einen .NET-Datenprovider 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 in Microsoft Visual Studio oder in einem einfachen Text-Editor wie z. B. dem Windows-Editor öffnen.

  3. Suchen Sie das Data-Element in der Datei RSReportServer.config. Im folgenden Verzeichnis muss ein Eintrag für den .NET Framework-Datenprovider 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-Datenprovider hinzu.

    Attribut Beschreibung

    Name

    Geben Sie einen eindeutigen Namen für den Datenprovider 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 kommagetrennte Liste ein, die den vollqualifizierten Namespace der Klasse enthält, die die IDbConnection-Schnittstelle implementiert, gefolgt vom Namen der .NET Framework-Datenproviderassembly (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-Datenprovider fest

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

  2. Öffnen Sie die Datei rssrvpolicy.config. Sie können die Konfigurationsdatei in Microsoft Visual Studio oder in einem einfachen Text-Editor wie z. B. dem Windows-Editor öffnen.

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

  4. Fügen Sie eine Codegruppe für die Datenproviderassembly 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\MSSQL\Reporting Services\ReportServer\bin\DataProviderAssembly.dll"
           />
    </CodeGroup>
    

Die URL-Mitgliedschaft bildet eine der vielen Mitgliedschaftsbedingungen, die Sie für den Datenprovider auswählen können. Weitere Informationen zur Codezugriffssicherheit in Reporting Services finden Sie unter Understanding Code Access Security in Reporting Services.

Überprüfen der Bereitstellung und der Registrierung

Sie können überprüfen, ob der Datenprovider erfolgreich auf dem Berichtsserver bereitgestellt wurde, indem Sie den Berichts-Manager öffnen und sicherstellen, dass der Datenprovider 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-Datenproviders auf dem Berichts-Designer-Client

Wenn Sie Berichte erstellen möchten, für die dieser .NET Framework-Datenprovider 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 Datenprovider als Datenquelle registriert und der standardmäßige Abfrage-Designer verwendet wird. Ändern Sie RSPreviewPolicy.config so, dass Codezugriffsberechtigungen für die Datenproviderassembly erteilt werden.

So installieren Sie eine Datenproviderassembly auf dem Berichts-Designer-Client

  1. Navigieren Sie zum Standardspeicherort des Verzeichnisses PrivateAssemblies auf dem Berichts-Designer-Client, auf dem Sie den .NET Framework-Datenprovider verwenden möchten. Standardmäßig wird das PrivateAssemblies-Verzeichnis des Berichtsservers unter <drive>:\Programme\Microsoft Visual Studio 8\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 msdn.microsoft.com in der Dokumentation zum .NET Framework-SDK im Thema Arbeiten mit Assemblys und dem globalen Assemblychache.

So registrieren Sie einen .NET-Datenprovider auf dem Berichts-Designer-Client

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

  2. Öffnen Sie RSReportDesigner.config in Visual Studio oder einem einfachen Text-Editor, z. B. im Windows-Editor.

  3. Suchen Sie das Data-Element in der Datei RSReportDesigner.config. Im folgenden Verzeichnis muss ein Eintrag für den Datenprovider erstellt werden:

    <Extensions>
       <Data>
          <Extension Your data provider configuration information goes here />
       </Data>
    </Extensions>
    
  4. Fügen Sie einen Eintrag für den Datenprovider hinzu.

    Attribut Beschreibung

    Name

    Geben Sie einen eindeutigen Namen für den Datenprovider 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 kommagetrennte Liste ein, die den vollqualifizierten Namespace der Klasse enthält, die die IDbConnection-Schnittstelle implementiert, gefolgt vom Namen der .NET Framework-Datenproviderassembly (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-Datenprovider 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-Datenprovider 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. im Windows-Editor.

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

  4. Fügen Sie eine Codegruppe für die .NET Framework-Datenproviderassembly 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 8\Common7\IDE\PrivateAssemblies\ DataProviderAssembly.dll"
           />
    </CodeGroup>
    

Die URL-Mitgliedschaft bildet eine der vielen Mitgliedschaftsbedingungen, die Sie für den Datenprovider auswählen können. Weitere Informationen zur Codezugriffssicherheit in Reporting Services finden Sie unter Understanding Code Access Security in Reporting Services.

Ü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 Datenprovider erfolgreich für den Berichts-Designer bereitgestellt wurde, indem Sie in Visual Studio ein neues Berichtsprojekt erstellen. Der Datenprovider 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 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-Datenprovider installiert sein, um eine Vorschau der Berichte zu ermöglichen. Wenn Sie den Bericht in demselben System veröffentlichen, benötigen Sie x64-Datenprovider 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 Datenprovider oder einen .NET Framework-Standarddatenprovider 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 Datenprovider für eine 32-Bit-Plattform kompiliert werden. Wenn Sie ihn auf einer 64-Bit-Plattform ausführen, muss der Datenprovider für die 64-Bit-Plattform kompiliert werden. Sie können keinen 32-Bit-Datenprovider verwenden, der in 64-Bit-Schnittstellen für eine 64-Bit-Plattform eingeschlossen ist. Überprüfen Sie Ihre Drittanbietersoftware auf Informationen dazu, ob der Datenprovider für die installierte Plattform verwendet werden kann. Weitere Informationen zur Unterstützung von Datenprovidern und Plattformen finden Sie unter Von Reporting Services unterstützte Datenquellen.

Siehe auch

Konzepte

Konfigurieren der Reporting Services-Komponenten

Andere Ressourcen

Implementing a Data Processing Extension

Hilfe und Informationen

Informationsquellen für SQL Server 2005