---
title: "Utilisation des outils Altova pour travailler avec des données XML dans le cloud SQL Azure"
date: "2010-07-12"
categories: 
  - "xquery"
tags: 
  - "altova-xmlspy"
  - "database-tool"
  - "databasespy"
  - "software-tools"
  - "sql-server"
  - "xml-editor"
  - "xmlspy"
  - "xquery"
description: Découvrez comment gérer efficacement les données XML dans SQL Azure en utilisant les outils Altova tels que DatabaseSpy et XMLSpy, en abordant les méthodes de migration, de modification et de requête.
---
Status: #blog

Tags:  #altova-xmlspy #database-tool #databasespy #software-tools #sql-server #xml-editor #xmlspy #xquery

Categories: [xpath+xquery](/blog/fr/category/xpathxquery.md)
# Utilisation des outils Altova pour travailler avec des données XML dans le cloud SQL Azure

Dans un article précédent, nous avons abordé la question de la [connexion aux bases de données Microsoft SQL Azure avec Altova DatabaseSpy](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html) et nous avons montré comment comparer les schémas de bases de données et leur contenu entre une base de données locale et la même base de données migrée vers SQL Azure. Dans cet article, nous utiliserons une méthode différente pour migrer une table existante vers SQL Azure et nous vous montrerons quelques astuces que vous pouvez utiliser avec XML dans le cloud. Nous avons commencé par créer un nouveau schéma de base de données dans SQL Azure. Ensuite, nous avons créé un [projet DatabaseSpy](https://www.altova.com/fr/databasespy/database-projects.html) avec une connexion à une copie locale de SQL Server Express exécutant la base de données d'exemple AdventureWorks, et une deuxième connexion à notre nouveau schéma SQL Azure. 

[![Fenêtre d'aide du projet DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssD2aUxUI/AAAAAAAAAL4/m1k4DFnOmUk/AzureXML01_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Project helper window")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssDYHP9dI/AAAAAAAAAL0/Su9HjQ6mxG4/s1600-h/AzureXML01%5B4%5D.gif) 

La base de données AdventureWorks contient une table appelée JobCandidate qui contient des données XML que nous utiliserons pour créer un modèle de nos contenus XML pour SQL Azure. 

[![Table "JobCandidate" de la base de données AdventureWorks, affichée dans la fenêtre de navigation en ligne DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssEmRxTCI/AAAAAAAAAMA/XoaMxpC3mFc/AzureXML02_thumb%5B3%5D.gif?imgmax=800 "AdventureWorks JobCandidate table in the DatabaseSpy Online Browser window")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssEeZqVbI/AAAAAAAAAL8/ACDHhYF2vrY/s1600-h/AzureXML02%5B7%5D.gif) 

Nous pouvons générer une instruction CREATE pour la table existante, qui servira de base pour la version SQL Azure. 

[![Instruction CREATE pour la table existante JobCandidate](https://lh3.ggpht.com/_REdrfeVqYdU/TDssFD0TAkI/AAAAAAAAAMI/HggxD6WMltU/AzureXML03_thumb%5B2%5D.gif?imgmax=800 "CREATE statement for the existing JobCandidate table")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssE3BRRDI/AAAAAAAAAME/9_1gFQ_WY3c/s1600-h/AzureXML03%5B4%5D.gif) 

Nous devons modifier cette instruction pour qu'elle puisse être exécutée dans notre base de données SQL Azure. En plus de modifier les noms de la base de données et du schéma, nous supprimerons la contrainte de clé étrangère vers la table "Employee", car notre nouvelle base de données ne contient pas de table avec ce nom. De plus, [SQL Azure ne prend pas en charge le mot-clé CONTENT,](http://msdn.microsoft.com/en-us/library/ee336281.aspx) nous allons donc également le supprimer. 

[![Modifier l'instruction CREATE dans une fenêtre de l'éditeur SQL de DatabaseSpy](https://lh6.ggpht.com/_REdrfeVqYdU/TDssF2JnhpI/AAAAAAAAAMQ/e4H62EHURno/AzureXML04_thumb%5B2%5D.gif?imgmax=800 "Modifying the CREATE statement in a DatabaseSpy SQL Editor window")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssFhvzNGI/AAAAAAAAAMM/2n2dd-eigyg/s1600-h/AzureXML04%5B4%5D.gif) 

Après avoir vérifié que la fenêtre des propriétés pour l'instruction CREATE modifiée pointe vers la base de données SQL Azure, nous pouvons exécuter l'instruction. Lorsque nous actualisons la base de données et que nous développons notre vue dans la fenêtre d'aide du navigateur en ligne, nous pouvons voir la nouvelle table vide. 

[![Nouvelle table affichée dans la fenêtre du navigateur en ligne DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssGugtpAI/AAAAAAAAAMY/BO5iQ8SryaA/AzureXML05_thumb%5B2%5D.gif?imgmax=800 "New table viewed in the DatabaseSpy Online Browser window")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssGSKOlzI/AAAAAAAAAMU/Y8Ip3bTZ6OU/s1600-h/AzureXML05%5B4%5D.gif) 

Une comparaison des données entre la table existante et la nouvelle nous permettra de créer un script pour migrer les données vers notre nouvelle table dans le cloud SQL Azure. Cela ressemble à [la comparaison de données dont nous avons parlé dans notre précédent article sur SQL Azure](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html), sauf que, au lieu de fusionner directement les données, nous allons enregistrer le script de fusion.

[![Dialogue de fusion de données de DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssHWwqTaI/AAAAAAAAAMg/e1oZHzy7x2E/AzureXML06_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Merge Data dialog")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssHJsbkYI/AAAAAAAAAMc/z-ffuGYIhxA/s1600-h/AzureXML06%5B4%5D.gif) 

Notre première tentative d'exécution du script de fusion a échoué, affichant un message d'erreur indiquant que SQL Azure ne peut pas insérer de valeurs dans la nouvelle table lorsque l'option IDENTITY_INSERT est désactivée. Nous pouvons ajouter une ligne au script de fusion pour activer IDENTITY_INSERT et relancer l'exécution : 

[![Script de fusion de données affiché dans une fenêtre d'éditeur SQL de DatabaseSpy](https://lh5.ggpht.com/_REdrfeVqYdU/TDssIUMkL5I/AAAAAAAAAMo/etCK1Qr0GdA/AzureXML07_thumb%5B2%5D.gif?imgmax=800 "Merge data script viewed in a DatabaseSpy SQL Editor window")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssHlBKXOI/AAAAAAAAAMk/dHlCNTaS1po/s1600-h/AzureXML07%5B4%5D.gif) 

Ensuite, nous pouvons exécuter une requête SELECT pour afficher les données qui ont été correctement importées. 

[![Sélectionner une requête et afficher les résultats dans DatabaseSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssJuaavxI/AAAAAAAAAMw/mHOLI4gHW2g/AzureXML08_thumb%5B2%5D.gif?imgmax=800 "Select query and Results viewed in DatabaseSpy")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssJbu8M4I/AAAAAAAAAMs/8eZ3avCrjms/s1600-h/AzureXML08%5B4%5D.gif) 

La fenêtre "Inspecteur de données" de DatabaseSpy nous permet d'examiner plus facilement le contenu d'une colonne, et est particulièrement utile pour analyser les documents XML stockés dans la colonne "Resume" de la nouvelle table "JobCandidate". 

[![Fenêtre de l'inspecteur de données de DatabaseSpy](https://lh6.ggpht.com/_REdrfeVqYdU/TDssKVVdcnI/AAAAAAAAAM4/X9lKbVekCMg/AzureXML09_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Data Inspector window")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssJ2Lak8I/AAAAAAAAAM0/dGMjr437D4w/s1600-h/AzureXML09%5B4%5D.gif) 

**Modification des données XML avec XMLSpy** Si vous devez réviser, modifier, mettre à jour ou valider des données XML dans une base de données SQL Azure, [Altova XMLSpy](https://www.altova.com/fr/xml-editor/) offre des fonctionnalités de modification XML plus performantes que DatabaseSpy. Nous pouvons nous connecter à notre base de données SQL Azure depuis XMLSpy et exécuter une requête SELECT à partir de la fenêtre [Requête de base de données XMLSpy](https://www.altova.com/fr/xmlspy/database-xml.html). XMLSpy nous permet d'ouvrir n'importe quelle ligne XML pour une modification directe, avec accès à des fonctionnalités de modification XML avancées.

[![Vue XMLSpy permettant de requêter les données XML stockées dans le cloud SQL Azure](https://lh3.ggpht.com/_REdrfeVqYdU/TDssLlYR3fI/AAAAAAAAANA/YcI5j9Ka4dg/AzureXML10_thumb%5B2%5D.gif?imgmax=800 "XMLSpy Database Query view of XML data in the SQL Azure cloud")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssKld6cKI/AAAAAAAAAM8/PYbJaV5DOuA/s1600-h/AzureXML10%5B4%5D.gif) 

Bien sûr, toutes les fonctionnalités habituelles de l'éditeur de texte et de la vue en grille d'XMLSpy sont disponibles. 

[![Visualisation du texte des données XML dans le cloud SQL Azure avec XMLSpy](https://lh6.ggpht.com/_REdrfeVqYdU/TDssMbC90PI/AAAAAAAAANI/9KBahBuL-14/AzureXML11_thumb%5B2%5D.gif?imgmax=800 "XMLSpy Text view of XML data in the SQL Azure cloud")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssMK-TO1I/AAAAAAAAANE/L4f2m0KuAc0/s1600-h/AzureXML11%5B4%5D.gif) 

[![Vue en grille XMLSpy pour les données XML hébergées dans le cloud SQL Azure](https://lh4.ggpht.com/_REdrfeVqYdU/TDssNHtkC5I/AAAAAAAAANQ/rIdY9_dxz0c/AzureXML12_thumb%5B2%5D.gif?imgmax=800 "XMLSpy Grid view of XML data inthe SQL Azure cloud")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssMiPlQtI/AAAAAAAAANM/DqK59yQWPtQ/s1600-h/AzureXML12%5B4%5D.gif) 

Une fois vos modifications terminées, l'option "Fichier / Enregistrer" de XMLSpy enregistre le document XML modifié dans la même ligne de la table "JobCandidate" de la base de données SQL Azure, située dans le cloud.

[![L'option "Fichier / Enregistrer" de XMLSpy permet de sauvegarder les données XML dans le cloud SQL Azure](https://lh4.ggpht.com/_REdrfeVqYdU/TDssNlI2VII/AAAAAAAAANY/LQZ-NHz48TE/AzureXML13_thumb%5B2%5D.gif?imgmax=800 "XMLSpy File / Save menu option saves XML data to the SQL Azure cloud")](http://lh6.ggpht.com/_REdrfeVqYdU/TDssNWuNvCI/AAAAAAAAANU/KY6tdkkJ-wc/s1600-h/AzureXML13%5B4%5D.gif) 

**Analyse de données XML avec XQuery** Vous pouvez également utiliser XMLSpy [Éditeur XQuery](https://www.altova.com/fr/xmlspy/xquery-editor.html), avec sa connaissance intégrée de la syntaxe XQuery et ses outils d'aide contextuels, il permet de créer des instructions XQuery qui analysent les données XML de votre base de données SQL Azure. L'instruction XQuery ci-dessous extrait et renvoie les adresses personnelles à partir des CV XML lorsque l'identifiant du candidat (JobCandidateID) est inférieur à 7. 

[![Éditeur XQuery pour XML dans SQL Azure, intégré à XMLSpy ](https://lh4.ggpht.com/_REdrfeVqYdU/TDssOsFWR2I/AAAAAAAAANg/znKFG7mDqm4/AzureXML14_thumb%5B2%5D.gif?imgmax=800 "XMLSpy XQuery editor for XML data in SQL Azure ")](http://lh6.ggpht.com/_REdrfeVqYdU/TDssOEXShdI/AAAAAAAAANc/PWoGe2ZL8dI/s1600-h/AzureXML14%5B4%5D.gif) 

La requête XQuery peut être exécutée dans la fenêtre de requête de base de données, et les résultats sont immédiatement disponibles pour être utilisés dans XMLSpy. 

[![Instruction XQuery et résultats affichés dans la fenêtre de requête de base de données de XMLSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssPUwP8oI/AAAAAAAAANo/XS8KMTciZPk/AzureXML15_thumb%5B2%5D.gif?imgmax=800 "XQuery statement and results inthe XMLSpy Database Query window")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssO25KcBI/AAAAAAAAANk/TZB0OmZ1Ss0/s1600-h/AzureXML15%5B4%5D.gif) 

Bien sûr, le résultat de la requête XQuery peut également être modifié en mode texte ou en mode tableau. 

[![Résultat de la requête XQuery affiché sous forme de texte dans XMLSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssP7YsgqI/AAAAAAAAANw/egPoq6aQ2e0/AzureXML16_thumb%5B2%5D.gif?imgmax=800 "XQuery result in XMLSpy Text view")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssPoUbWRI/AAAAAAAAANs/fZU5rG-51IA/s1600-h/AzureXML16%5B4%5D.gif) 

[![Résultat de la requête XQuery affiché dans une grille dans XMLSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssQ5BJBrI/AAAAAAAAAN4/RKXallP0rDM/AzureXML17_thumb%5B2%5D.gif?imgmax=800 "XQuery result in XMLSpy Grid view")](http://lh6.ggpht.com/_REdrfeVqYdU/TDssQXEN4DI/AAAAAAAAAN0/tpRx1Mlabho/s1600-h/AzureXML17%5B4%5D.gif) 

Vous pouvez enregistrer les résultats de la requête soit depuis la fenêtre de requête de base de données, soit depuis la vue de l'éditeur XML. Découvrez par vous-même à quel point vous pouvez être productif en utilisant les outils Altova pour travailler avec des données XML dans le cloud SQL Azure : [téléchargez une version d'essai gratuite de 30 jours](https://www.altova.com/fr/download-trial/) de la [suite Altova MissionKit pour les architectes logiciels](https://www.altova.com/fr/missionkit/software-architects.html), un ensemble intégré qui comprend XMLSpy, DatabaseSpy, ainsi que des outils XML, de base de données et UML supplémentaires.
