NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosWindows : Importxmlsql2k
Quer receber novidades e e-books gratuitos?
Importação de arquivos XML com SQL Server 2000

Introdução

O XML é uma forma de manter os padrões entre bases de dados, tornando-se cada vez mais uma importantíssima linguagem para escrever documentos que possam auxiliar na importação e exportação de dados e estruturas de bases de dados.

Dando seqüência ao artigo anterior que falava da importância do AD ou DBA e saber trabalhar com XML Web Services, esse artigo explica um pouco mais sobre o XML e ensina passo a passo como fazer para importar documentos XML para uma base de dados SQL Server. Porém, vale ressaltar que o XML não é um padrão exclusivo SQL Server 2000. Os melhores gerenciadores de bancos de dados possuem suporte a XML.

Sobre o XML

O XML surgiu de um refinamento do SGML, que é uma linguagem poderosa, mas de difícil compreensão. O XML incorpora as principais características do SGML no que diz respeito à distribuição de informações via web, com a vantagem de ser de fácil compreensão por parte do desenvolvedor.

Usando o XML, projetistas podem criar seus próprios elementos de acordo com a aplicação que está sendo modelada, dando maior importância ao conteúdo e à estrutura da informação e não à forma como é apresentada na tela. Para que o parser XML verifique se um documento está correto ou não, ele processa inicialmente seu DTD correspondente, para verificar a estrutura do documento.

Vários parsers, disponíveis gratuitamente na web, fazem a análise léxica e a análise sintática dos documentos XML de acordo com o seu DTD associado. Além desses também existem parsers que não exigem a presença de um DTD e que, portanto, somente validam elementos.

Sobre esquemas

Os esquemas tiveram origem da necessidade de se criar regras de formatação e padronização do código XML para poder ser integrado nas tarefas de enviar e receber informações com bases de dados.

Um esquema XML tem a função de controlar e executar regras estabelecidas pelas normas de segurança e integridade do banco de dados. Dadas as regras, o programador constrói o esquema XML que irá interagir junto ao banco de dados e o documento XML, não permitindo inconsistências.

Ainda um esquema XML possuiu a sua sintaxe baseada na linguagem XML, que por definição usa a forma de marcação de um documento XML.

Aonde usar

Segue abaixo dois exemplos de situações do mundo real aonde poderá ser útil ao desenvolvedor ou DBA conhecer o XML.

Cenário 1

João é diretor de RH da empresa ABC e resolve trocar um antigo software de gestão de recursos humanos que tem como SGBD PostgreSQL, por um de outro fornecedor que usa MS SQL Server 2000.

A empresa ABC possuí no total 500 funcionários que precisam ser incluídos na nova base de dados.

Para que essa transferência seja feita de forma que custe menos trabalho para o DBA e garanta a consistência dos dados, o DBA da empresa ABC sugere a exportação do antigo banco de dados para o formato XML.

Vamos à análise do caso. Por que XML e não um arquivo tabular? Simples. Temos bancos de dados diferentes que possuem padrões de dados diferentes. Veja um exemplo mais prático abaixo:

Parte da tabela de funcionários

Campo

Tipo

Descrição

Código_funcionário

Inteiro

Armazena o id do funcionário

Nome_funcionário

String de 20 caracteres

Armazena o nome do funcionário

Se estivéssemos importando de um arquivo tabular, não teríamos como definir o tipo do campo e assim usaríamos alguma função de conversão de dados para armazenar essa informação na nossa tabela de destino.

Ao passo que, se estivermos usando um documento XML, podemos criar um esquema que armazenará o tipo de dado que contém cada campo, e na hora de importar é só executar a leitura do esquema.

Esse é um exemplo muito simples que não causaria grande impacto, mas além desse fato tempos que analisar que alguns tipos de campos do PostgreSQL podem não ser compatíveis como MS SQL Server 2000 e poderia ser tratado pelos esquemas, além da praticidade na importação.

Cenário 2

 A empresa ABC é uma empresa de representação de diversos tipos de produtos e recebe frequentemente de seus fornecedores atualização de preços. Os fornecedores estão se modernizando estão dispondo XML Web Services que retornam a lista de preços no formato XML.

A empresa ABC através de um canal direto com seus representantes tem o endereço eletrônico e a autorização para acessar essas atualizações de preços.

Uma vez por semana o funcionário responsável por atualizar o catálogo da empresa conecta nos endereços de cada XML Web Service e salva o documento XML com o novo catálogo em um diretório compartilhado na rede.

A analise aqui é muito simples. O fornecedor da empresa ABC disponibiliza a atualização dos produtos através de XML Web Services para facilitar a importação e diminuir o custo interno de exportação de dados, afinal o XML Web Service fica pronto esperando uma consulta do usuário.

Para esse caso a empresa ABC poderia eliminar o trabalho do funcionário que atualiza a lista de preços da empresa ABC simplesmente escrevendo uma aplicação .NET Windows Service que faz a verificação, semanal ou diariamente, dos XML Web Service.

Este mesmo Windows Service poderá automaticamente atualizar a tabela de produtos no banco de dados da empresa ABC.

Como esse artigo é para demonstrar uma forma simples de importar dados de um arquivo XML, digamos que a empresa ABC resolveu esperar para implementar esta solução e para isso vai importar manualmente um arquivo XML que é retornado por um XML Web Service para a tabela de preços.

Comandos de leitura de XML para SQL Server 2000

Usando OPENXML

O método escolhido pelo SQL Server 2000 para permitir modificações em dados usando documentos XML é usando o data source OPENXML. Esta função prove a visualização dos dados em rowset.

Para usar o data source XML com T-SQL, o documento precisa ser validado e armazenado na memória em uma representação de árvore. Esta árvore representa as informações de cada nodo que o SQL Server 2000 terá que saber para preparar a linha de leitura.

No SQL Server 2000 existe uma stored procedure, chamada sp_xml_preparedocument, que irá converter o documento XML para ser representado internamente pelo SQL Server 2000.

SP_XML_PREPAREDOCUMENT

O OPENXML não pode trabalhar com uma string formatada em XML. O OPENXML vai ler os dados já devidamente formatados, pode ele não interpreta a estrutura de nodos. Por este motivo usamos o SP_XML_PREPAREDOCUMENT para converter o documento em um padrão que o SQL Server 2000 possa ler e interpretar.

Esta stored procedure cria uma representação temporária na memória com o formato de uma view.

A figura abaixo exibe uma estrutura de um documento XML usado em nosso exemplo.

Já a figura abaixo mostra como o SQL Server lê as informações depois que o documento passar pela stored procedure SP_XML_PREPAREDOCUMENT.

Segue a baixo o codigo para fazer a importação dos dados.

O código abaixo mostra como fazer uma importação do conteúdo XML para dentro de uma tabela temporária chamada #funcionario, a partir desta tabela é só copiar os dados de uma tabela do SQL Server para outra tabela. Não existe mistério nisso.

Segue durante o código o comentário de cada linha e comandos do SQL Server.

Observação: nunca esqueça que é muito importante remover o conteúdo do documento XML da memória.

Conclusão

Neste artigo exemplifiquei algumas utilidades e maneiras de se aproveitar da tecnologia XML para importar dados para SQL Server 2000, porém vale ressaltar que poderíamos estar importando para qualquer outro SGBD que suporte XML.

Sem dúvidas o XML é uma forma concreta de se manter o padrão de dados quando o assunto for transferência.

Referência:

  • Books Online (Help do SQL Server 2000)
  • Desvendando XML – New Riders, Editora Campus, Autor Steven Holzne


Web site: www.crespi.pro.br

email: rodrigo@crespi.pro.br


Confira todos os artigos de Windows e Redes:

1 Como Criar Servidores Web com o Windows Server
1 Instalando o Google Chrome Com SCCM 2012 R2
1 Como Mapear Unidade De Rede Com Drive Maps
1 Como Utilizar Grupos Restritos No Active Directory
1 Como configurar o Client Push Installation no System Center
1 Como Criar uma Collection no System Center
1 Como Criar Atalho Na Área De Trabalho Com GPO
1 Como configurar a GPO para o System Center 2012 R2
1 Ninite Software Deployment
1 Guia de Certificação Microsoft
1 Como Alterar A Mascara de Rede No Escopo do DHCP
1 Como Criar uma GPO com WMI Filter
1 Como fazer uma migração de DHCP
1 Como Criar Pacotes de Instalação Automáticos e Silenciosos
1 Certificação ITIL
1 Como fazer download e instalar o VMWare Workstation 11
WINDOWS 7
1 Como Instalar o Windows 7 Automaticamente
1 Como Formatar o Windows 7
1 Os melhores Antivírus para Windows 7
1 Os melhores Aplicativos para Windows 7
1 Os melhores recursos do Windows 7
1 Como usar o Windows 7 para facilitar o seu dia a dia
1 Como escolher entre o Windows 7 e 8
WINDOWS 8
1 Como Formatar o Windows 8
1 Os melhores Antivírus para Windows 8
1 Os melhores Aplicativos para Windows 8
1 Os melhores recursos do Windows 8
1 Como usar o Windows 8 para facilitar o seu dia a dia
1 Principais diferenças entre o Windows 8 e 7
WINDOWS 2003 SERVER
1 Windows 2003 - DNS - Instalação do DNS e Criação de Zonas
1 Windows 2003 - DNS - Configurando as Propriedades de uma Zona
1 Windows 2003 - DNS - Configurando as Propriedades do Servidor DNS
1 Windows 2003 - DNS - Integração do DNS com o Active Directory
1 Windows 2003 - DNS - Atualização Dinâmica
1 Windows 2003 - DNS - Zonas de Pesquisa Inversa
1 Windows 2003 - MBSA - Microsoft Baseline Security Analyzer
1 Windows 2003 - Permissões de Compartilhamento
1 Windows 2003 - Permissões e Compartilhamento de Impressoras
1 Windows 2003 - Permissões NTFS
1 Windows 2003 - WINS - Introdução ao WINS
1 Windows 2003 - WINS - Instalação do WINS
1 Windows 2003 - WINS - Configurando as Propriedades do Servidor WINS
1 Windows 2003 - WINS - Replicação do WINS
1 Windows 2003 - DHCP – Instalação
1 Windows 2003 - DHCP - Configuração de Escopos
1 Windows 2003 - DHCP - Backup e Restore
1 Windows 2003 - DHCP - Compactando a Base de Dados do DHCP
1 Windows 2003 - DHCP - Auditoria no DHCP
1 Windows 2003 - Autenticação
1 Windows 2003 - Modelos de Segurança
WINDOWS - GERAL
1 Saiba Porque o Windows XP se Tornou uma Ameaça
1 Acesso Remoto [vídeo]
1 Como se preparar para os Exames da Microsoft [vídeo]
1 Cenários para utilização do Windows AIK - Parte 2
1 Cenários para utilização do Windows AIK - Parte 1
1 Windows AIK - Kit de Instalação Automática
1 Introdução ao MDT - Microsoft Deployment Toolkit
1 Implementando Infraestrutura entre Matriz e Filial - Parte 1
1 Implementando Infraestrutura entre Matriz e Filial - Parte 2
1 Implementando Infraestrutura entre Matriz e Filial - Parte 3
1 Implementando Infraestrutura entre Matriz e Filial - Parte 4
1 Caminhos de upgrade para o Windows Vista
1 Instalação do Windows Vista
1 Windows Vista Upgrade Advisor
1 Configurações básicas do Windows Mail
1 Contas de usuário no Windows Vista
1 Contatos do Windows
1 Cotas em disco no Windows Vista
1 Discos básicos no Windows Vista
1 Discos dinâmicos no Windows Vista
Seta Vídeo: Usando Sysprep e Ghost
Seta Vídeo: Instalando o Windows XP de forma automatizada
Seta Vídeo: Baixando atualizações do Windows e Integrando na Instalação – Parte 2
Seta Vídeo: Baixando atualizações do Windows e Integrando na Instalação – Parte 1
Seta Vídeo: Criando usuários e grupos no Active Directory com scripts automatizados
Seta Vídeo: RunAs Powerful - Script super poderoso
Seta Certificação - MCTS Windows 7
Seta Vídeo: Instalação do Serviço DNS - Parte 1
Seta Vídeo: Office Communications Server 2007 R2 – Parte 1
1 Virtual PC 2007 - Parte 2 - Instalação do Virtual PC 2007
1 Virtual PC 2007 - Parte 1 - Introdução ao Virtual PC 2007
ACTIVE DIRECTORY
1 Tutorial de Active Directory - Parte 5
1 Tutorial de Active Directory - Parte 4
1 Tutorial de Active Directory - Parte 3
1 Tutorial de Active Directory - Parte 2
1 Tutorial de Active Directory - Parte 1
1 Aprenda a Usar o VMware - Parte 2
1 Aprenda a Usar o VMware - Parte 1
1 Saiba Como Ter Boletos Bancários em Seu Site
1 Alterando o Texto do Botão Iniciar
1 System Restore (Restauração do Sistema)
1 Recovery Console (Console de Recuperação)
1 Pecados Mortais no uso do E-mail - Parte 2
1 Pecados Mortais no uso do E-mail
1 SUS - Implementação e Administração - Parte 2
1 SUS - Implementação e Administração - Parte 1
1 Windows Server 2003 - O novo recurso Shadow Copies
1 Tutorial sobre Profiles
1 Criptografia no Windows 2000 Server e o Agente de Recuperação
1 Tudo sobre Permissões de Segurança: Compartilhamento e NTFS
1 Implementando o DFS: Distributed File System
1 Boot no Windows 2000/XP e o arquivo Boot.ini
1 Gerenciamento de Discos e Armazenamento
WINDOWS 2000
1 DHCP no Windows 2000 Server
1 DNS no Windows 2000 Server
1 Implementação e Administração do SUS
1 Serviço RRAS no Windows 2000 Server
1 Introdução às redes com Windows 2000 – Parte 1
1 Introdução às redes com Windows 2000 – Parte 2
1 Introdução às redes com Windows 2000 – Parte 3
1 Primeiros passos com Ajax Control Toolkit
1 Faça a sua declaração de imposto de renda com Linux
1 Sistema de Controle de Gasolina Mobile
1 Série Visual Source Safe - Parte 1
1 Extraindo dados para arquivo texto
1 Como exibir informações com múltiplas instruções SQL
1 Expressões Regulares No Microsoft SQL Server 2000
1 Cursores
1 O Namespace My
1 JOB no SQL Server
1 Criando uma aplicação Windows Service
1 Criando Class Libraries com VB.NET - Parte 2
1 Criando Class Libraries com VB.NET
1 Importação de arquivos XML com SQL Server 2000
1 Web Services e AD/DBA
1 Criando Sequence com SQL Server
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI