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

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.

Possiamo generare un'istruzione CREATE per la tabella esistente, che potrà essere utilizzata come base per la versione SQL Azure.

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", quindi la rimuoveremo anch'essa.

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.

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, tranne per il fatto che, invece di unire direttamente i dati, salveremo lo script di unione.

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:

Successivamente, possiamo eseguire una query SELECT per visualizzare i dati che sono stati caricati correttamente.

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

Modifica dei dati XML con XMLSpy Se è necessario rivedere, modificare, aggiornare o validare i dati XML in un database SQL Azure, Altova XMLSpy 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". XMLSpy ci permette di aprire qualsiasi riga XML per la modifica diretta, con accesso a funzionalità avanzate di modifica XML.

Naturalmente, tutte le funzionalità familiari della visualizzazione testuale e della visualizzazione a griglia di XMLSpy sono disponibili.

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.

Analisi dei dati XML con XQuery È inoltre possibile utilizzare XMLSpy Editor per XQuery, 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'istruzione XQuery può essere eseguita nella finestra di query del database, e i risultati sono immediatamente disponibili per essere utilizzati in XMLSpy.

Naturalmente, il risultato di una query XQuery può essere modificato anche in modalità testo o in modalità tabella.

È 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 di Altova MissionKit for Software Architects, una suite integrata che include XMLSpy, DatabaseSpy e ulteriori strumenti XML, per database e UML.