Utilização das ferramentas Altova para trabalhar com dados XML na nuvem SQL Azure
Num artigo anterior, discutimos como conectar a bases de dados Microsoft SQL Azure com o Altova DatabaseSpy e demonstramos a comparação de esquemas de bases de dados e a comparação de conteúdo entre uma base de dados local e a mesma base de dados migrada para o SQL Azure. Neste artigo, utilizaremos um método diferente para migrar uma tabela existente para o SQL Azure e mostraremos algumas dicas que pode usar com XML na nuvem. Começámos por criar um novo esquema de base de dados no SQL Azure. Em seguida, criámos um projeto DatabaseSpy com uma ligação a uma cópia local do SQL Server Express que executa a base de dados de exemplo AdventureWorks, e uma segunda ligação ao nosso novo esquema SQL Azure.
![]()
A base de dados AdventureWorks contém uma tabela chamada "JobCandidate" que contém alguns dados XML, os quais utilizaremos para criar um modelo para o conteúdo XML do nosso SQL Azure.
![]()
Podemos gerar uma instrução CREATE para a tabela existente, que poderá ser utilizada como base para a versão SQL Azure.
![]()
Precisamos modificar esta instrução para que seja executada na nossa base de dados SQL Azure. Além de alterar os nomes da base de dados e do esquema, vamos remover a restrição de chave estrangeira para a tabela "Employee", uma vez que a nossa nova base de dados não contém uma tabela com esse nome. Além disso, o SQL Azure não suporta a palavra-chave CONTENT, por isso também vamos removê-la.
![]()
Depois de verificar que a janela de Propriedades para a instrução CREATE modificada aponta para a base de dados SQL Azure, podemos executar a instrução. Quando atualizamos a base de dados e expandimos a nossa visualização na janela auxiliar do Navegador Online, podemos ver a nova tabela vazia.
![]()
A comparação de dados entre a tabela existente e a nova permitirá criar um script para migrar os dados para a nossa nova tabela na nuvem SQL Azure. Isto é semelhante à comparação de dados que descrevemos na nossa publicação anterior sobre SQL Azure, exceto que, em vez de mesclar os dados diretamente, iremos guardar o script de mesclagem.
![]()
A nossa primeira tentativa de executar o script de mesclagem falhou, exibindo uma mensagem de erro que indica que o SQL Azure não consegue inserir valores na nova tabela quando a opção IDENTITY_INSERT está definida como DESATIVADA. Podemos adicionar uma linha ao script de mesclagem para definir IDENTITY_INSERT como ATIVADO e executar o script novamente:
![]()
Em seguida, podemos executar uma consulta SELECT para visualizar os dados que foram carregados com sucesso.
![]()
A janela "Data Inspector" do DatabaseSpy permite-nos examinar mais facilmente o conteúdo de uma coluna, sendo ideal para analisar documentos XML armazenados na coluna "Resume" da nova tabela "JobCandidate".
![]()
Edição de dados XML com o XMLSpy Se precisar rever, editar, atualizar ou validar dados XML numa base de dados SQL Azure, o Altova XMLSpy oferece funcionalidades de edição de XML mais robustas do que o DatabaseSpy. Podemos conectar-nos à nossa base de dados SQL Azure a partir do XMLSpy e executar uma consulta SELECT a partir da janela Consulta de Base de Dados do XMLSpy. O XMLSpy permite-nos abrir qualquer linha XML para edição direta, com acesso a funcionalidades avançadas de edição de XML.
![]()
Claro que todas as funcionalidades habituais da visualização de texto e da visualização em tabela do XMLSpy estão disponíveis.
![]()
![]()
Após concluir as suas alterações, a opção "Ficheiro / Guardar" do XMLSpy salva o documento XML atualizado na mesma linha da tabela "JobCandidate" no banco de dados SQL Azure na nuvem.
![]()
Análise de dados XML com XQuery Também pode utilizar o XMLSpy Editor de XQuery, Com o seu conhecimento integrado da sintaxe XQuery e com ferramentas de auxílio à escrita sensíveis ao contexto, permite criar instruções XQuery que processam os dados XML na sua base de dados SQL Azure. A instrução XQuery abaixo extrai e devolve os endereços de residência dos currículos XML onde o identificador do candidato (JobCandidateID) é inferior a 7.
![]()
A instrução XQuery pode ser executada na janela de consulta de base de dados, e os resultados ficam imediatamente disponíveis para serem utilizados no XMLSpy.
![]()
Claro que o resultado da consulta XQuery também pode ser editado na visualização de texto ou na visualização de tabela.
![]()
![]()
Pode guardar o resultado da consulta tanto na janela de Consulta à Base de Dados como na visualização do Editor XML. Descubra por si mesmo o quão produtivo pode ser ao utilizar as ferramentas Altova para trabalhar com dados XML na nuvem SQL Azure – descarregue uma versão de avaliação gratuita de 30 dias do Altova MissionKit for Software Architects, um conjunto integrado que inclui o XMLSpy, o DatabaseSpy e outras ferramentas XML, de bases de dados e UML.