Freigeben über


Konvertieren von RDL- und RDLC-Dateien

Wenn Sie sowohl die ReportViewer-Steuerelemente als auch Microsoft SQL Server 2005 Reporting Services verwenden, können Sie die erstellten Berichte in beiden Berichterstellungstechnologien erneut verwenden.

  • Berichte, die Sie in SQL Server 2005 Reporting Services erstellen (im RDL-Format gespeicherte Dateien), können in das Format von Client-Berichtsdefinitionsdateien (RDLC) konvertiert werden, das von den ReportViewer-Steuerelementen verwendet wird. Dieser Vorgang wird als RDL-zu-RDLC-Konvertierung bezeichnet.

  • Berichte, die Sie für ReportViewer-Steuerelemente erstellen (im RDLC-Format gespeicherte Dateien), können in das Format von Berichtsdefinitionsdateien (RDL) konvertiert werden, das von SQL Server Reporting Services verwendet wird. Dieser Vorgang wird als RDLC-zu-RDL-Konvertierung bezeichnet.

Vergleichen von RDL und RDLC

Für RDL- und RDLC-Dateien gelten wichtige technische und begriffliche Unterschiede, die im Folgenden beschrieben werden:

  • Die Formate RDL und RDLC werden durch das XML-Schema der Berichtsdefinitionssprache (Report Definition Language, RDL) definiert. Das Schema ist für beide Dateiformate identisch. Das Schema ist in der SQL Server 2005-Onlinedokumentation dokumentiert.

  • Das ReportViewer-Steuerelement, das RDLC-Dateien verarbeitet, ignoriert das <Query>-Element von RDL. Wenn eine Berichtsdefinition eine Abfrage enthält, wird sie vom Steuerelement nicht verarbeitet.

NoteHinweis

Eine Client-Berichtsdefinitionsdatei (RDLC) enthält nur dann eine Abfrage, wenn die Datei durch Konvertierung einer RDL-Datei entstanden ist.

  • Die Begriffe Dataset und Datenquelle haben in Visual Studio 2008 und SQL Server 2005 eine unterschiedliche Bedeutung. In Visual Studio ist ein Dataset eine Auflistung aus Datentabellen und entspricht einer Abfrage oder einem Befehl, die bzw. der Daten abruft. In Reporting Services besteht ein Dataset aus den folgenden Teilen:

    • Datenquelleninformationen, einschließlich des Datenquellentyps und der Verbindungszeichenfolge. Der Datenquellentyp gibt eine Datenverarbeitungserweiterung an, die auf dem Berichtsserver bereitgestellt wird.

    • Informationen zur Anmeldung, die angeben, wie Anmeldeinformationen für die Datenquellenverbindung abgerufen werden.

    • Abfrage- oder Befehlsinformationen, die zum Abrufen von Daten verwendet werden.

Visuell zeichnet sich eine RDLC-Datei, die für die Ausführung in einem ReportViewer-Steuerelement konfiguriert ist, dadurch aus, dass das Datasetobjekt, das Bindungsquellobjekt und das Tabellenobjekt unten in der Entwurfsansicht angezeigt werden. Das folgende Diagramm veranschaulicht, wie diese Objekte in einem Windows-Formular angezeigt werden. (Auf einer Webseite werden die gleichen Datenbindungsobjekte anders angezeigt.)

Datenobjekte in einem Projektarbeitsbereich

Wenn Sie eine RDLC-Datei auswählen, um sie in einem ReportViewer-Steuerelement zu verwenden, und die Datenobjekte nicht im Projekt angezeigt werden, handelt es sich höchstwahrscheinlich um eine umbenannte RDL-Datei, für die weitere Konvertierungsschritte erforderlich sind, um die vollständige Funktionsfähigkeit als RDLC-Datei zu erreichen.

Der Datasetname kann irreführend sein. Standardmäßig verwendet Reporting Services den Namen der Datenquelle für das erste erstellte Dataset. (So könnte ein Dataset z. B. den Namen "Northwind" erhalten, obwohl es nur die Daten aus einer einzigen Tabelle abruft.)

Konvertieren von Berichtsdefinitionen

Nur RDL-Dateien von SQL Server 2005 können in RDLC-Dateien konvertiert werden. Wenn Sie RDL-Dateien aus einer früheren Version verwenden möchten, müssen Sie sie auf SQL Server 2005 aktualisieren, bevor Sie sie in das RDLC-Dateiformat migrieren können. Aktualisieren Sie die Berichtsdefinition, indem Sie sie in der Version des Berichts-Designers öffnen, die mit SQL Server 2005 bereitgestellt wird.

Unabhängig vom Dateityp ist es für die Konvertierung einer Berichtsdefinition erforderlich, die Datenquellen- und Abfrageinformationen erneut zu erstellen. Stellen Sie sicher, dass Sie ein Datenquellenschema verwenden, das mit dem im ursprünglichen Bericht verwendeten Schema übereinstimmt oder unter Strukturgesichtspunkten identisch ist. Wenn das Schema abweicht, ist das Berichtslayout möglicherweise für die Datenquelle, die Sie verwenden möchten, nicht gültig. Wenn Sie andere Datenquellen verwenden möchten, ist es einfacher, den Bericht vollständig neu zu erstellen, als ihn zu konvertieren.

RDL-zu-RDLC-Konvertierung

Wenn Sie eine RDL-Datei in das RDLC-Format konvertieren, müssen Sie die Datenquellen- und Abfrageinformationen in der Berichtsdefinition manuell durch Datenkonstrukte ersetzen, die in der Anwendung bereitgestellt werden.

  1. Benennen Sie die RDL-Datei mit der Dateierweiterung RDLC um.

  2. Öffnen Sie in Visual Studio 2008 die Projektmappe oder das Projekt, das den Bericht enthalten soll.

  3. Erstellen Sie das Dataset, oder fügen Sie das Dataset hinzu, das die Daten definiert, die Sie in der Projektmappe verwenden möchten. Weitere Informationen finden Sie unter Erstellen von Datenquellen für einen Bericht.

  4. Klicken Sie im Menü Projekt auf Vorhandenes Element hinzufügen, und wählen Sie dann die RDLC-Datei aus, die Sie im ersten Schritt erstellt haben.

  5. Öffnen Sie im Projekt das Formular oder die Webseite, das bzw. die den Bericht enthalten soll.

  6. Ziehen Sie ein ReportViewer-Steuerelement aus der Toolbox-Gruppe Daten auf das Formular oder die Webseite.

  7. Wählen Sie im Smarttagbereich ReportViewer-Aufgaben unter Bericht auswählen die RDLC-Datei aus, die mit dem Steuerelement verwendet werden soll.

  8. Wählen Sie im Smarttagbereich ReportViewer-Aufgaben unter Datenquellen auswählen das Dataset aus, das Sie verwenden möchten. Das Datasetobjekt, das Bindungsquellobjekt und das Tabellenobjekt werden unten im Arbeitsbereich angezeigt. Weitere Informationen zum Aktualisieren von Datenquellenverweisen finden Sie unter Aktualisieren und erneutes Binden von Datenquellenverweisen (Visual Studio-Berichts-Designer).

  9. Speichern Sie alle Dateien, und erstellen Sie dann einen Build des Projekts, oder stellen Sie das Projekt bereit, um zu überprüfen, ob der Bericht die gewünschten Daten enthält.

RDLC-zu-RDL-Konvertierung

Die Konvertierung einer RDLC-Datei in das RDL-Format erfolgt automatisch, wenn folgende Bedingungen erfüllt sind:

  • Die Datenquelle, die von der RDLC-Datei verwendet wird, verwendet die integrierte Sicherheit.

  • Die Berichtsdaten werden über eine Datentabelle bereitgestellt. Wenn die RDLC-Datei Daten aus einem Geschäftsobjekt verwendet, müssen Sie die RDLC-Datei manuell konvertieren. Ein Berichtsserver kann keine Geschäftsobjekte in einem Bericht verarbeiten.

  • Die Datenquelle, die von der RDLC-Datei verwendet wird, ist einer Datenverarbeitungserweiterung zugeordnet, die auf dem Berichtsserver installiert ist. (Wenn es sich bei der Datenquelle z. B. um eine SQL Server-Datenbank handelt, können Sie die SQL Server-Datenverarbeitungserweiterung verwenden, die standardmäßig auf dem Berichtsserver installiert ist.)

  • Die Abfrageinformationen und die Datenquellen-Verbindungsinformationen müssen nicht geändert werden.

Für eine automatische Konvertierung der RDLC-Datei können Sie die RDLC-Datei mit der Erweiterung RDL umbenennen und diese RDL-Datei dann auf einem Berichtsserver veröffentlichen oder auf den Server hochladen. Sie können Business Intelligence Development Studio in SQL Server 2005 verwenden, um die RDL-Datei zu veröffentlichen. Weitere Informationen zum Erstellen von Berichtsprojekten, zum Veröffentlichen von Berichten und zum Hochladen von Dateien finden Sie in der SQL Server 2005-Onlinedokumentation.

Führen Sie die folgenden Schritte aus, um eine RDLC-Datei manuell in eine RDL-Datei zu konvertieren:

  1. Bestimmen Sie die Datenquelle, die Sie mit der RDL-Datei verwenden möchten. Sie können eine relationale SQL Server-Datenbank, eine mehrdimensionale Analysis Services-Datenbank, eine Oracle-Datenbank oder eine beliebige andere unterstützte Datenquelle verwenden. Das Schema muss dem Schema entsprechen, das Sie beim Erstellen des ursprünglichen RDLC-Berichtslayouts verwendet haben.

  2. Benennen Sie die RDLC-Datei mit der Dateierweiterung RDL um.

  3. Verwenden Sie Business Intelligence Development Studio von SQL Server 2005, um das Berichtsserverprojekt zu erstellen oder zu öffnen, das den Bericht enthalten soll.

  4. Klicken Sie im Menü Projekt auf Vorhandenes Element hinzufügen. Wählen Sie die RDL-Datei aus, die Sie im ersten Schritt erstellt haben, und fügen Sie sie dem Projekt hinzu.

  5. Öffnen Sie im Projektmappen-Explorer die RDL-Datei, die Sie soeben dem Projekt hinzugefügt haben. Die Berichtsdefinitionsdatei wird im Entwurfsmodus geöffnet. Die folgenden Registerkarten sollten angezeigt werden: Daten, Layout und Vorschau. Klicken Sie auf Daten, um den Bericht in der Datensicht zu öffnen.

  6. Wählen Sie in der Datenansicht das erste Dataset aus, und klicken Sie dann auf die Schaltfläche zum Bearbeiten (...), wie im folgenden Diagramm veranschaulicht wird:

    Symbol für das Bearbeiten eines Datasets

  7. Klicken Sie im Dialogfeld Dataset auf die Schaltfläche zum Bearbeiten () neben dem Datenquellennamen.

  8. Aktualisieren Sie die Verbindungsinformationen. Sie sollten die Verbindungszeichenfolge ersetzen, sodass der Bericht eine Verbindung mit der Datenquelle herstellt, die Sie verwenden möchten. Möglicherweise müssen Sie den Datenquellentyp, den Server, die Authentifizierungsoptionen und die Datenbankauswahl aktualisieren.

  9. Klicken Sie auf die Schaltfläche zum Ausführen (!), um zu überprüfen, ob die Datenquelle die gewünschten Daten zurückgibt.

  10. Wiederholen Sie die zuvor beschriebenen Schritte, um ggf. weitere im Bericht verwendete Datenquellen zu ändern.

  11. Zeigen Sie eine Vorschau des Berichts an, um zu überprüfen, ob die Daten wie gewünscht im Berichtslayout zusammengeführt werden. Zum Anzeigen der Berichtsvorschau klicken Sie auf die Registerkarte Vorschau.

Siehe auch

Konzepte

Bereitstellen von Berichten und ReportViewer-Steuerelementen
Konfigurieren von ReportViewer für die lokale Verarbeitung

Weitere Ressourcen

Beispiele und Anleitungen