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

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.

Podemos generar una instrucción CREATE para la tabla existente, que servirá como base para la versión de SQL Azure.

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, por lo que también la eliminaremos.

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.

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, excepto que, en lugar de fusionar los datos directamente, guardaremos el script de fusión.

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:

A continuación, podemos ejecutar una consulta SELECT para visualizar los datos que se hayan cargado correctamente.

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

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 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. XMLSpy nos permite abrir cualquier fila XML para editarla directamente, con acceso a funciones avanzadas de edición de XML.

Por supuesto, todas las funciones habituales de la vista de texto y la vista de cuadrícula de XMLSpy están disponibles.

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.

Analizar datos XML con XQuery También puede utilizar XMLSpy Editor XQuery, 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.

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.

Por supuesto, el resultado de la consulta XQuery también puede ser editado en la vista de texto o en la vista de tabla.

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 de Altova MissionKit for Software Architects, un conjunto de herramientas integrado que incluye XMLSpy, DatabaseSpy y herramientas adicionales para XML, bases de datos y UML.