---
title: "Utilizar las herramientas de Altova para trabajar con datos XML en la nube de SQL Azure"
date: "2010-07-12"
categories: 
  - "xquery"
tags: 
  - "altova-xmlspy"
  - "database-tool"
  - "databasespy"
  - "software-tools"
  - "sql-server"
  - "xml-editor"
  - "xmlspy"
  - "xquery"
description: Descubra cómo gestionar de manera eficiente los datos XML en SQL Azure utilizando herramientas de Altova como DatabaseSpy y XMLSpy, cubriendo métodos para la migración, la edición y la consulta.
---
Status: #blog

Tags:  #altova-xmlspy #database-tool #databasespy #software-tools #sql-server #xml-editor #xmlspy #xquery

Categories: [xpath+xquery](/blog/es/category/xpathxquery.md)
# Utilizar las herramientas de Altova para trabajar con datos XML en la nube de SQL Azure

En una publicación anterior, hablamos de cómo [conectarse a las bases de datos Microsoft SQL Azure con Altova DatabaseSpy](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html) y demostramos la comparación de esquemas de bases de datos y la comparación de contenido entre una base de datos local y la misma base de datos migrada a SQL Azure. En esta publicación, utilizaremos un método diferente para migrar una tabla existente a SQL Azure y les mostraremos algunos trucos que se pueden realizar con XML en la nube. Comenzamos creando un nuevo esquema de base de datos en SQL Azure. Luego, creamos un [proyecto de DatabaseSpy](https://www.altova.com/es/databasespy/database-projects.html) con una conexión a una copia local de SQL Server Express que ejecuta la base de datos de ejemplo AdventureWorks, y una segunda conexión a nuestro nuevo esquema de SQL Azure. 

[![Ventana de ayuda del proyecto 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 datos AdventureWorks contiene una tabla llamada JobCandidate que contiene algunos datos en formato XML, los cuales utilizaremos para crear un modelo de los contenidos XML de SQL Azure. 

[![Tabla "JobCandidate" de AdventureWorks en la ventana del navegador en línea de 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) 

Podemos generar una instrucción CREATE para la tabla existente, que servirá como base para la versión de SQL Azure. 

[![Sentencia CREATE para la tabla existente "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) 

Necesitamos modificar esta instrucción para que se ejecute en nuestra base de datos SQL Azure. Además de cambiar los nombres de la base de datos y el esquema, eliminaremos la restricción de clave externa a la tabla "Employee", ya que nuestra nueva base de datos no contiene una tabla con ese nombre. Asimismo, [SQL Azure no admite la palabra clave CONTENT,](http://msdn.microsoft.com/en-us/library/ee336281.aspx) por lo que también la eliminaremos. 

[![Modificar la instrucción CREATE en una ventana del editor 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) 

Una vez que nos aseguramos de que la ventana de propiedades para la instrucción CREATE modificada apunte a la base de datos SQL Azure, podemos ejecutar la instrucción. Cuando actualizamos la base de datos y ampliamos nuestra vista en la ventana de ayuda del explorador en línea, podemos ver la nueva tabla vacía. 

[![Nueva tabla visible en la ventana del navegador en línea de 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) 

Una comparación de datos entre la tabla existente y la nueva nos permitirá crear un script para migrar los datos a nuestra nueva tabla en la nube de SQL Azure. Esto es similar a [la comparación de datos que describimos en nuestra publicación anterior sobre SQL Azure](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html), excepto que, en lugar de fusionar los datos directamente, guardaremos el script de fusión.

[![Diálogo "Combinar datos" 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) 

Nuestro primer intento de ejecutar el script de fusión falló, mostrando un mensaje de error que indica que SQL Azure no puede insertar valores en la nueva tabla cuando la opción IDENTITY_INSERT está desactivada. Podemos añadir una línea al script de fusión para activar IDENTITY_INSERT y volver a ejecutarlo: 

[![Script para combinar datos, visible en una ventana del editor 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) 

A continuación, podemos ejecutar una consulta SELECT para visualizar los datos que se hayan cargado correctamente. 

[![Seleccionar la consulta y ver los resultados en 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 ventana "Data Inspector" de DatabaseSpy nos permite examinar más fácilmente el contenido de una columna amplia, y es ideal para analizar documentos XML almacenados en la columna "Resume" de la nueva tabla "JobCandidate". 

[![Ventana del inspector de datos 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) 

**Edición de datos XML con XMLSpy** Si necesita revisar, editar, actualizar o validar datos XML en una base de datos SQL Azure, [Altova XMLSpy](https://www.altova.com/es/xml-editor/) ofrece funciones de edición de XML más avanzadas que DatabaseSpy. Podemos conectarnos a nuestra base de datos SQL Azure desde XMLSpy y ejecutar una consulta SELECT desde la ventana [Consulta de base de datos de XMLSpy](https://www.altova.com/es/xmlspy/database-xml.html). XMLSpy nos permite abrir cualquier fila XML para editarla directamente, con acceso a funciones avanzadas de edición de XML.

[![Vista de consulta de bases de datos en XMLSpy para visualizar datos XML en la nube de 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) 

Por supuesto, todas las funciones habituales de la vista de texto y la vista de cuadrícula de XMLSpy están disponibles. 

[![Vista de texto de datos XML en la nube de SQL Azure, utilizando 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) 

[![Vista de cuadrícula en XMLSpy para visualizar datos XML en la nube de 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 vez que haya terminado de realizar las modificaciones, la opción "Archivo / Guardar" de XMLSpy guardará el documento XML revisado en la misma fila de la tabla "JobCandidate" en la base de datos SQL Azure ubicada en la nube.

[![La opción de menú "Archivo" / "Guardar" de XMLSpy guarda los datos XML en la nube de 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) 

**Analizar datos XML con XQuery** También puede utilizar XMLSpy [Editor XQuery](https://www.altova.com/es/xmlspy/xquery-editor.html), Con su conocimiento integrado de la sintaxis de XQuery y sus herramientas de ayuda contextual, permite crear sentencias XQuery que analizan los datos XML en su base de datos SQL Azure. La siguiente sentencia XQuery extrae y devuelve las direcciones de domicilio de los currículums XML donde el identificador del candidato (JobCandidateID) es menor que 7. 

[![Editor de XQuery de XMLSpy para datos XML en 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) 

La instrucción XQuery se puede ejecutar en la ventana de consultas de la base de datos, y los resultados estarán disponibles de inmediato para su uso en XMLSpy. 

[![Consulta XQuery y resultados en la ventana de consulta de bases de datos 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) 

Por supuesto, el resultado de la consulta XQuery también puede ser editado en la vista de texto o en la vista de tabla. 

[![Resultado de la consulta XQuery en la vista de texto de 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) 

[![Resultado de la consulta XQuery en la vista de cuadrícula de 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) 

Puede guardar los resultados de la consulta tanto desde la ventana de consulta de la base de datos como desde la vista del editor XML. Descubra por sí mismo lo productivo que puede ser utilizando las herramientas de Altova para trabajar con datos XML en la nube de SQL Azure: [descargue una versión de prueba gratuita de 30 días](https://www.altova.com/es/download-trial/) de [Altova MissionKit for Software Architects](https://www.altova.com/es/missionkit/software-architects.html), un conjunto de herramientas integrado que incluye XMLSpy, DatabaseSpy y herramientas adicionales para XML, bases de datos y UML.
