---
title: "Utilizzo degli strumenti Altova per lavorare con i dati XML nel cloud SQL Azure"
date: "2010-07-12"
categories: 
  - "xquery"
tags: 
  - "altova-xmlspy"
  - "database-tool"
  - "databasespy"
  - "software-tools"
  - "sql-server"
  - "xml-editor"
  - "xmlspy"
  - "xquery"
description: Scoprite come gestire in modo efficiente i dati XML in SQL Azure utilizzando strumenti Altova come DatabaseSpy e XMLSpy, esaminando i metodi per la migrazione, la modifica e l'interrogazione dei dati.
---
Status: #blog

Tags:  #altova-xmlspy #database-tool #databasespy #software-tools #sql-server #xml-editor #xmlspy #xquery

Categories: [xpath+xquery](/blog/it/category/xpathxquery.md)
# Utilizzo degli strumenti Altova per lavorare con i dati XML nel cloud SQL Azure

In un post precedente, abbiamo discusso di [Connessione ai database Microsoft SQL Azure con Altova DatabaseSpy](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html) e abbiamo dimostrato il confronto tra schemi di database e il confronto dei contenuti tra un database locale e lo stesso database migrato su SQL Azure. In questo articolo, utilizzeremo un metodo diverso per migrare una tabella esistente su SQL Azure e vi mostreremo alcuni trucchi che potete utilizzare con XML nel cloud. Abbiamo iniziato creando un nuovo schema di database su SQL Azure. Successivamente, abbiamo creato un [Progetto DatabaseSpy](https://www.altova.com/it/databasespy/database-projects.html) con una connessione a una copia locale di SQL Server Express che esegue il database di esempio AdventureWorks, e una seconda connessione al nostro nuovo schema SQL Azure. 

[![Finestra di supporto per il progetto 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) 

Il database AdventureWorks contiene una tabella chiamata JobCandidate che contiene alcuni dati in formato XML, che utilizzeremo per creare un modello per i contenuti XML di SQL Azure. 

[![La tabella "JobCandidate" di AdventureWorks visualizzata nella finestra del browser online di 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) 

Possiamo generare un'istruzione CREATE per la tabella esistente, che potrà essere utilizzata come base per la versione SQL Azure. 

[![Istruzione CREATE per la tabella esistente "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) 

Dobbiamo modificare questa istruzione per eseguirla nel nostro database SQL Azure. Oltre a cambiare i nomi del database e dello schema, rimuoveremo il vincolo di chiave esterna alla tabella "Employee", poiché il nostro nuovo database non contiene una tabella con quel nome. Inoltre, [SQL Azure non supporta la parola chiave "CONTENT",](http://msdn.microsoft.com/en-us/library/ee336281.aspx) quindi la rimuoveremo anch'essa. 

[![Modificare l'istruzione CREATE in una finestra dell'editor SQL di 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) 

Dopo aver verificato che la finestra delle proprietà per l'istruzione CREATE modificata punti al database SQL Azure, possiamo eseguire l'istruzione. Quando aggiorniamo il database ed espandiamo la nostra visualizzazione nella finestra di supporto del browser online, possiamo vedere la nuova tabella vuota. 

[![Nuova tabella visualizzata nella finestra del browser online di 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) 

Un confronto tra i dati presenti nella tabella esistente e quelli della nuova tabella ci permetterà di creare uno script per migrare i dati nella nostra nuova tabella nel cloud SQL Azure. Questo è simile al [confronto dei dati di cui abbiamo parlato nel nostro precedente articolo su SQL Azure](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html), tranne per il fatto che, invece di unire direttamente i dati, salveremo lo script di unione.

[![Finestra di dialogo "Unione dati" di 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) 

Il nostro primo tentativo di eseguire lo script di unione è fallito, generando un messaggio di errore che indicava che SQL Azure non poteva inserire valori nella nuova tabella quando l'opzione IDENTITY_INSERT era impostata su OFF. Possiamo aggiungere una riga allo script di unione per impostare IDENTITY_INSERT su ON e rieseguirlo: 

[![Script per la fusione dei dati visualizzato in una finestra dell'editor SQL di 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) 

Successivamente, possiamo eseguire una query SELECT per visualizzare i dati che sono stati caricati correttamente. 

[![Selezionare la query e visualizzare i risultati in 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 finestra "Data Inspector" di DatabaseSpy ci permette di esaminare più facilmente il contenuto di una colonna, ed è particolarmente utile per analizzare i documenti XML memorizzati nella colonna "Resume" della nuova tabella "JobCandidate". 

[![Finestra di ispezione dei dati di 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) 

**Modifica dei dati XML con XMLSpy** Se è necessario rivedere, modificare, aggiornare o validare i dati XML in un database SQL Azure, [Altova XMLSpy](https://www.altova.com/it/xml-editor/) offre funzionalità di modifica XML più avanzate rispetto a DatabaseSpy. Possiamo connetterci al nostro database SQL Azure da XMLSpy ed eseguire una query SELECT dalla finestra "[Query del database XMLSpy](https://www.altova.com/it/xmlspy/database-xml.html)". XMLSpy ci permette di aprire qualsiasi riga XML per la modifica diretta, con accesso a funzionalità avanzate di modifica XML.

[![Visualizzazione delle query sui database in XMLSpy per i dati XML archiviati nel 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) 

Naturalmente, tutte le funzionalità familiari della visualizzazione testuale e della visualizzazione a griglia di XMLSpy sono disponibili. 

[![Visualizzazione testuale dei dati XML in XMLSpy, accessibili tramite il servizio cloud SQL Azure](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) 

[![Visualizzazione a griglia dei dati XML in formato XML, utilizzando XMLSpy, nell'ambiente cloud di 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) 

Una volta completate le modifiche, l'opzione "File / Salva" di XMLSpy salva il documento XML modificato nella stessa riga della tabella "JobCandidate" nel database SQL Azure presente nel cloud.

[![L'opzione "File" / "Salva" di XMLSpy consente di salvare i dati XML nel 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) 

**Analisi dei dati XML con XQuery** È inoltre possibile utilizzare XMLSpy [Editor per XQuery](https://www.altova.com/it/xmlspy/xquery-editor.html), con la sua conoscenza integrata della sintassi XQuery e con strumenti di supporto contestuali per facilitare la creazione di istruzioni XQuery che analizzano i dati XML presenti nel vostro database SQL Azure. L'istruzione XQuery riportata di seguito estrae e restituisce gli indirizzi di residenza dai curriculum XML in cui il valore di JobCandidateID è inferiore a 7. 

[![L'editor XQuery di XMLSpy per i dati XML in SQL Azure ](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) 

L'istruzione XQuery può essere eseguita nella finestra di query del database, e i risultati sono immediatamente disponibili per essere utilizzati in XMLSpy. 

[![Dichiarazione XQuery e risultati nella finestra di query del database di 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) 

Naturalmente, il risultato di una query XQuery può essere modificato anche in modalità testo o in modalità tabella. 

[![Risultato di una query XQuery visualizzato in XMLSpy, nella modalità di visualizzazione del testo](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) 

[![Risultato di una query XQuery visualizzato nella griglia di 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) 

È possibile salvare i risultati della query sia dalla finestra "Query del database" che dalla vista "Editor XML". Scoprite di persona quanto potete essere produttivi utilizzando gli strumenti Altova per lavorare con i dati XML nel cloud SQL Azure: [scaricate una versione di prova gratuita di 30 giorni](https://www.altova.com/it/download-trial/) di [Altova MissionKit for Software Architects](https://www.altova.com/it/missionkit/software-architects.html), una suite integrata che include XMLSpy, DatabaseSpy e ulteriori strumenti XML, per database e UML.
