Définition de datasets de rapport pour des données XML

Mis à jour : 14 avril 2006

Reporting Services comprend une extension de traitement des données prenant en charge l'extraction de données de rapport à partir d'une source de données XML. Les rapports peuvent utiliser des données issues de documents XML et de services Web ou bien incorporer des données XML dans la requête. Il n'y a pas de prise en charge intégrée pour la récupération de documents XML à partir d'une base de données SQL Server. Un dataset Reporting Services comprend une source de données, une requête et une collection de champs.

Pour savoir, étape par étape, comment configurer la source de données et le dataset, ajouter des champs à la mise en page du rapport et créer un rapport qui affiche les données XML extraites depuis un service Web XML, consultez Didacticiel : Utilisation de données XML dans un rapport.

Connexion à une source de données XML et récupération de ses données

Pour extraire les données XML d'un rapport, créez une source de données avec une chaîne de connexion qui spécifie un lien URL au service Web ou au document XML. Vous pouvez également créer une source de données avec une chaîne de connexion vide et incorporer des données XML dans la requête du dataset.

Chaque source de données XML doit présenter les caractéristiques suivantes :

  • Le type de source de données doit être XML. Reporting Services fournit une extension de traitement de données pour récupérer et traiter les données dans un rapport.
  • Les informations d'identification doivent être configurées pour une sécurité intégrée Windows ou pour l'absence d'informations d'identification.
    Les informations d'identification stockées ou demandées ne sont pas prises en charge. Notez bien que si vous désactivez la sécurité intégrée Windows, vous ne pouvez pas l'utiliser pour récupérer des données. Si vous spécifiez des informations d'identification stockées ou demandées par invite, une erreur se produit au moment de l'exécution.
    Si vous choisissez de ne pas demander d'informations d'identification, l'accès anonyme est utilisé. Vérifiez que vous avez défini le compte d'exécution sans assistance pour le serveur de rapports afin d'établir une connexion à une source de données externe. L'extension de traitement des données XML ne transmet pas d'informations d'identification à l'URL cible ou au service Web ; la connexion ne peut aboutir que si vous avez défini le compte d'exécution sans assistance. Pour plus d'informations, consultez Configuration d'un compte pour le traitement des rapports sans assistance.
  • La chaîne de connexion doit être une URL qui pointe vers le service Web, l'application Web ou le document XML disponible via HTTP. Les documents XML doivent disposer de l'extension XML. Vous pouvez également utiliser une chaîne de connexion vide pour les données XML incorporées dans la requête du dataset.
  • La requête doit retourner des données XML. Pour les documents XML, vous pouvez préciser un chemin d'accès à l'élément avec une syntaxe XML semblable à la syntaxe XQuery, comme décrit dans Syntaxe du chemin d'accès à l'élément pour la spécification de données de rapport XML. Pour un service Web, vous pouvez fournir un élément <Query> qui spécifie une méthode à appeler ou une action SOAP. Vous pouvez laisser la requête vide et adopter la requête par défaut si la source de données XML dispose d'une structure hiérarchique produisant les données que vous souhaitez utiliser dans votre rapport. Les valeurs de nœud d'élément XML et les attributs extraits lors de l'exécution de la requête correspondent aux champs de dataset que vous utilisez dans votre rapport.
  • Vous devez utiliser le Concepteur générique de requêtes pour créer la requête. La requête n'est pas analysée pour l'identification des paramètres ; par conséquent, vous devez créer les paramètres via l'onglet Paramètre de la boîte de dialogue Dataset. Pour plus d'informations sur la syntaxe de la requête, consultez Syntaxe de requête XML employée pour la spécification des données de rapport XML. Pour plus d'informations sur le Concepteur générique de requêtes, consultez Outils de conception de requête dans Reporting Services.

Chaînes de connexion pour des sources de données XML

Les exemples suivants illustrent la syntaxe d'une chaîne de connexion pour un service Web ou pour un document XML : Le protocole file:// n'est pas pris en charge.

Type de document XML Exemple de chaîne de connexion

Service Web

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

Document XML

http://localhost/XML/Customers.xml

Document XML incorporé

Vide

Pour plus informations sur la définition d'une source de données, consultez Procédure : créer ou modifier une source de données propre à un rapport (Concepteur de rapports).

Requêtes pour datasets avec sources de données XML

Un dataset inclut une requête, c'est-à-dire le texte de commande exécuté par rapport à une source de données en vue de produire un ensemble de résultats spécifique. L'ensemble de résultats correspond à la collection de champs dans un dataset. Vous pouvez également définir des valeurs de filtre dans le dataset afin de limiter les résultats retournés à partir de la source de données. Les valeurs possibles d'une requête de dataset pour une source de données de type XML sont présentées dans le tableau ci-dessous.

Requête de dataset

Description

Vide

Utilisez une requête vide pour créer un ensemble de résultats par défaut. La requête par défaut est créée en lisant la source de données et en parcourant la hiérarchie de nœuds XML jusqu'à la première collection inférieure. L'ensemble de résultats inclut tous les nœuds avec des valeurs de texte et tous les attributs de nœud rencontrés sur ce parcours. Les colonnes dans l'ensemble de résultats sont mappées avec les champs du dataset.

Chemin d'accès à l'élément

Spécifie la séquence des nœuds à utiliser lors de l'extraction des données XML de la source de données.

Élément de requête XML

Spécification de requête XML avec les éléments facultatifs suivants.

Source de données XML

Éléments XML requis

Éléments XML facultatifs

Pour un service Web<Method Namespace="espace de noms"Name="MethodName" /> - ou - <SoapAction>action soap</SoapAction>``<ElementPath>chemin d'accès à l'élément</ElementPath>``<Method Namespace="espace de noms"Name="MethodName" /> - ou - <SoapAction>action soap</SoapAction>

Pour un document XML<ElementPath>chemin d'accès à l'élément</ElementPath>

Pour un document XML incorporé<XmlData> XML interne </XmlData><ElementPath>chemin d'accès à l'élément</ElementPath> - ou - <ElementPath IgnoreNamespaces="true">chemin d'accès à l'élément</ElementPath>

Utilisez l'élément de requête XML pour spécifier les espaces de noms ou l'attribut IgnoreNamespaces dans le fragment XML ElementPath pour les ignorer. Pour plus d'informations sur l'élément XML Query, consultez Syntaxe de requête XML employée pour la spécification des données de rapport XML. Pour plus d'informations sur la syntaxe du chemin d'accès à l'élément, consultez Syntaxe du chemin d'accès à l'élément pour la spécification de données de rapport XML.

Configuration requise pour la récupération de données d'un service Web XML

L'extension de traitement de données XML ne détecte pas le schéma automatiquement. Vous devez donc disposer d'un moyen d'identifier quelles méthodes SOAP permettent d'extraire les données de votre choix. Vous devez également comprendre le schéma d'adressage ou l'espace de noms que le service Web utilise pour ses données.

Conditions requises pour l'extraction de données de documents XML

À l'aide du protocole HTTP, le serveur doit retourner les données XML ou ces dernières doivent être incorporées dans l'élément Query XML. Si vous faites directement référence à un document XML à l'aide du protocole HTTP, l'extension employée doit être l'extension .xml. Vous devez savoir comment créer une requête XML qui récupère toutes les données dont vous avez besoin. Si vous ne spécifiez pas un chemin d'accès à l'élément, le comportement par défaut pour l'analyse d'un document XML consiste à sélectionner le premier chemin d'accès disponible vers une collection de nœuds terminaux dans le document. Si le document XML inclut des chemins d'accès supplémentaires à d'autres collections sœurs de nœuds terminaux (inférieurs), ces nœuds seront ignorés sauf si vous spécifiez un chemin dans votre requête. Pour plus d'informations, consultez Syntaxe du chemin d'accès à l'élément pour la spécification de données de rapport XML.

Ressources externes

Reporting Services : Using XML and Web Service Data Sources

Voir aussi

Concepts

Connexion à une source de données

Autres ressources

Didacticiel : Utilisation de données XML dans un rapport

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Nouveau contenu :
  • Informations et liens concernant les chemins d'accès à l'élément et les éléments de requête XML.
  • Données XML incorporées.