Erstellen von Berichtsdatasets aus XML-Daten

Reporting Services stellt eine Datenverarbeitungserweiterung bereit, die das Abrufen von Berichtsdaten aus einer XML-Datenquelle unterstützt. In Berichten können Daten aus XML-Dokumenten und Webdiensten verwendet werden. Außerdem können XML-Daten in die Abfrage eingebettet werden. Das Abrufen von XML-Dokumenten aus einer SQL Server-Datenbank wird nicht unterstützt.

Herstellen einer Verbindung mit einer XML-Datenquelle und Abrufen von Daten

Wenn Sie XML-Daten in einem Bericht abrufen möchten, erstellen Sie eine Datenquelle mit einer Verbindungszeichenfolge, die eine URL zu einem Webdienst oder XML-Dokument angibt. Sie können auch eine Datenquelle mit einer leeren Verbindungszeichenfolge erstellen und XML-Daten in die Datasetabfrage einbetten.

Jede XML-Datenquelle muss die folgenden Merkmale aufweisen:

  • Der Datenquellentyp muss XML lauten. Reporting Services bietet eine XML-Datenverarbeitungserweiterung zum Abrufen und Verarbeiten der Daten in einem Bericht.

  • Wenn Anmeldeinformationen verwendet werden, müssen diese für die integrierte Windows-Sicherheit konfiguriert sein.

    Gespeicherte Anmeldeinformationen oder Aufforderungen zur Eingabe von Anmeldeinformationen werden nicht unterstützt. Wenn Sie die integrierte Sicherheit von Windows deaktiviert haben, können Sie sie nicht zum Abrufen von Daten verwenden. Wenn Sie gespeicherte Anmeldeinformationen oder auf Aufforderung einzugebende Anmeldeinformationen angeben, tritt zur Laufzeit ein Fehler auf.

    Wenn Sie keine Anmeldeinformationen auswählen, wird der anonyme Zugriff verwendet. Stellen Sie sicher, dass für die Verbindung des Berichtsservers mit einer externen Datenquelle ein Konto für die unbeaufsichtigte Ausführung definiert ist. Die XML-Datenverarbeitungserweiterung übergibt keine Anmeldeinformationen an die Ziel-URL oder den Webdienst; die Verbindung wird nur dann hergestellt, wenn Sie das Konto für die unbeaufsichtigte Ausführung definiert haben. Weitere Informationen finden Sie unter Konfigurieren des Kontos für die unbeaufsichtigte Ausführung.

  • Die Verbindungszeichenfolge muss eine URL sein, die auf den Webdienst, die webbasierte Anwendung oder das über HTTP verfügbare XML-Dokument zeigt. XML-Dokumente müssen die Erweiterung XML aufweisen. Für in der Datasetabfrage eingebettete XML-Daten können Sie auch eine leere Verbindungszeichenfolge verwenden.

  • Die Abfrage muss XML-Daten zurückgeben. Für XML-Dokumente können Sie mithilfe von XML-Syntax, die XQuery ähnelt, einen Elementpfad angeben, wie unter Syntax für Elementpfade zum Angeben von XML-Berichtsdaten beschrieben. Für einen Webdienst können Sie ein <Query>-Element angeben, das eine aufzurufende Methode oder eine SOAP-Aktion angibt. Sie können die Abfrage leer lassen und die Standardabfrage verwenden, wenn die XML-Datenquelle eine hierarchische Struktur besitzt, die die im Bericht zu verwendenden Daten bereitstellt. Mit der Abfrage abgerufene Werte und Attribute von XML-Elementknoten werden den im Bericht verwendeten Datasetfeldern zugeordnet.

  • Sie müssen den textbasierten Abfrage-Designer verwenden, um die Abfrage zu erstellen. Die Abfrage wird nicht zum Identifizieren von Parametern analysiert. Daher müssen Sie Parameter auf der Seite Parameter im Dialogfeld Dataseteigenschaften erstellen. Weitere Informationen zur Abfragesyntax finden Sie unter XML-Abfragesyntax zum Angeben von XML-Berichtsdaten. Weitere Informationen zum standardmäßigen Abfrage-Designer finden Sie unter Abfrageentwurfstools in Reporting Services.

Verbindungszeichenfolgen für XML-Datenquellen

Im folgenden Beispiel wird die Syntax der Verbindungszeichenfolge für einen Webdienst bzw. für ein XML-Dokument vorgestellt. Das file://-Protokoll wird nicht unterstützt.

XML-Dokumenttyp

Beispiel für Verbindungszeichenfolge

Webdienst

http://adventure-works.com/results.aspx

XML-Dokument

https://localhost/XML/Customers.xml

Eingebettetes XML-Dokument

Leer

Weitere Informationen zum Definieren einer Datenquelle finden Sie unter Vorgehensweise: Erstellen einer eingebetteten oder freigegebenen Datenquelle.

Abfragen für Datasets mit XML-Datenquellen

Datasets enthalten eine Abfrage, d. h den Befehlszeilentext, der in einer Datenquelle ausgeführt wird, um ein bestimmtes Resultset abzurufen. Das Resultset wird der Auflistung von Feldern in einem Dataset zugeordnet. Sie können auch Filterwerte für das Dataset festlegen, um die von der Datenquelle zurückgegebenen Ergebnisse einzuschränken. Die bei einer Datasetabfrage für eine Datenquelle vom Typ XML möglichen Werte sind in der folgenden Tabelle veranschaulicht.

Datasetabfrage

Beschreibung

Leer

Verwenden Sie eine leere Abfrage, um ein Standardresultset zu erstellen. Die Standardabfrage wird erstellt, indem die Datenquelle gelesen und die XML-Knotenhierarchie bis zur ersten Blattauflistung durchsucht wird. Das Resultset enthält alle Knoten mit Textwerten und alle Knotenattribute unter diesem Pfad. Die Spalten im Resultset werden den Feldern für das Dataset zugeordnet.

Elementpfad

Gibt die Sequenz von Knoten an, die beim Abrufen von XML-Daten aus der Datenquelle verwendet wird.

XML-Abfrageelement

Eine XML-Abfragespezifikation mit den folgenden optionalen Elementen.

XML-DatenquelleErforderliche XML-ElementeOptionale XML-Elemente
Für einen Webdienst <Method Namespace= "namespace" Name="MethodName" /> -- or -- <SoapAction> SOAP-Aktion </SoapAction> <ElementPath> Elementpfad </ElementPath> <Method Namespace= "namespace" Name="MethodName" /> -- or -- <SoapAction> SOAP-Aktion </SoapAction>
Für ein XML-Dokument <ElementPath> Elementpfad </ElementPath>
Für ein eingebettetes XML-Dokument <XmlData> inneres XML-Element </XmlData> <ElementPath> Elementpfad </ElementPath> -- or -- <ElementPath IgnoreNamespaces="true"> Elementpfad </ElementPath>

Mit dem XML-Abfrageelement geben Sie im XML-Elementpfad Namespaces bzw. das IgnoreNamespaces-Attribut an, um diese zu ignorieren. Weitere Informationen zum XML-Abfrageelement finden Sie unter XML-Abfragesyntax zum Angeben von XML-Berichtsdaten. Weitere Informationen zur Syntax des Elementpfads finden Sie unter Syntax für Elementpfade zum Angeben von XML-Berichtsdaten.

Voraussetzungen für das Abrufen von XML-Webdienstdaten

Die XML-Datenverarbeitungserweiterung kann das Schema nicht selbstständig erkennen. Daher müssen Sie über eine Möglichkeit verfügen, die SOAP-Methoden zu ermitteln, mit denen die gewünschten Daten abgerufen werden können. Sie müssen außerdem wissen, welches Adressierungsschema oder welchen Namespace der Webdienst für seine Daten verwendet.

Voraussetzungen für das Abrufen von XML-Dokumentdaten

Bei Verwendung von HTTP muss der Server XML-Daten zurückgeben oder die XML-Daten müssen im XML-Query-Element eingebettet sein. Wenn Sie über HTTP direkt auf ein XML-Dokument verweisen, muss die Erweiterung XML verwendet werden. Sie müssen wissen, wie Sie eine XML-Abfrage erstellen, die alle benötigten Daten abruft. Wenn Sie keinen Elementpfad angeben, besteht das Standardverhalten zum Analysieren eines XML-Dokuments darin, dass der erste verfügbare Pfad zu einer Blattknotenauflistung im XML-Dokument ausgewählt wird. Wenn das XML-Dokument zusätzliche Pfade zu anderen Auflistungen gleichgeordneter Blattknoten enthält, werden diese Knoten ignoriert, es sei denn, Sie geben in der Abfrage einen Pfad ein. Weitere Informationen finden Sie unter Syntax für Elementpfade zum Angeben von XML-Berichtsdaten.