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 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 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.

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.

Nous pouvons générer une instruction CREATE pour la table existante, qui servira de base pour la version SQL Azure.

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, nous allons donc également le supprimer.

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.

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, sauf que, au lieu de fusionner directement les données, nous allons enregistrer le script de fusion.

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 :

Ensuite, nous pouvons exécuter une requête SELECT pour afficher les données qui ont été correctement importées.

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".

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 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. 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.

Bien sûr, toutes les fonctionnalités habituelles de l'éditeur de texte et de la vue en grille d'XMLSpy sont disponibles.

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.

Analyse de données XML avec XQuery Vous pouvez également utiliser XMLSpy Éditeur XQuery, 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.

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.

Bien sûr, le résultat de la requête XQuery peut également être modifié en mode texte ou en mode tableau.

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 de la suite Altova MissionKit pour les architectes logiciels, un ensemble intégré qui comprend XMLSpy, DatabaseSpy, ainsi que des outils XML, de base de données et UML supplémentaires.