• Telefones de Contato
  • 0-xx-(51) 3717-3796
  • 0-xx-(51) 9627-3434
Comprar Cursos e Video-Aulas Cursos Online com Certificado Comprar Livros Tutoriais e Artigos Foruns de Discussao
 Você está aqui: Principal > Artigos > Windows
  :: Autor: Rodrigo Crespi   :: Site:     www.crespi.pro.br/
  :: Data:  15/07/2005   :: e-mail: rodrigo@crespi.pro.br
CURSOS ONLINE COM CERTIFICADO
Profiss. de Flash
Programação para Web
Corel Draw X4
Profissionalizante de Informática
Projeto de Redes LAN
Curso de MS Project 2007
Curso de Photoshop
Windows Server 2003
Dominando o Linux
Fundam. de Redes TCP/IP
Profission. de Vendas
Profission. de Redes
Gerência Financeira
Hardware
Criação de Sites
Redes Wireless
Gerência de Projetos
SQL Server 2005
LIVROS
Júlio Battisti
Excel
Word
Windows e Linux
Redes
Programação
Certificações Microsoft e...
Banco de Dados
Webdesign
Gráficos e CorelDraw
Segurança
Aplicativos
Carreira e Sucesso Profis...
Cultura e Interesse Geral
Administração e Negócios
Office 2007
Hardware e Montagem
AutoCAD
Finanças e Investimentos
VÍDEO-AULAS
Access
Excel
Word
PowerPoint
Windows
Programação
Concursos Públicos
Banco de Dados
Webdesign
Internet
CAD
Vídeo e Áudio
Programas Gráficos
Administração e Negócios
CURSOS/E-BOOKS
Access
Excel
Word
PowerPoint
Windows
Redes e TCP/IP
Programação
Certificações Microsoft
Concursos Públicos
Banco de Dados
Webdesign
Internet
BrOffice
Linux
CAD
Vìdeo
Formação Pessoal e Profis...
Área Gráfica
Literatura e Outros
Administração e Negócios
Vídeo-Aulas de Word
OFERTAS ESPECIAIS
ASP.NET 3.5 Para Leigos
Desenvolvendo para web ...
Dossiê Hacker
Joomla - Guia do Operad...
MS Project 2007 e Proje...
Terminais sem Hard Disk
Universidade Hacker - 6...
MAIS VENDIDOS
ASP.NET 3.5 Para Leigos
Desenvolvendo para web ...
Joomla - Guia do Operad...
MS Project 2007 e Proje...
Terminais sem Hard Disk
Universidade Hacker - 6...
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




CURSOS ONLINE COM CERTIFICADO E SUPORTE
Gerência de Projetos SQL Server 2005 Gerência Financeira Windows Server 2003
MS Project 2007 Photoshop Projeto e Interconexão de Redes LAN Técnico Profissionalizante de Informática
Profissionalizante de Flash      
CURSO EM FORMATO DE VÍDEO-AULA
EXEMPLOS PRÁTICOS PASSO A PASSO COM SOM E IMAGEM
Clique no curso para informações detalhadas
Curso Duração Informações
ACCESS
Vídeo-Aula - Access 2007 - Curso Básico 2h01m Clique aqui
Vídeo-aula - Access 2007 - Tudo Sobre Consultas 2h30m Clique aqui
Vídeo-Aula - Curso Avançado de Access 2003 2h48m Clique aqui
Vídeo-Aula - Curso Básico de Access 2003 2h49m Clique aqui
EXCEL
Vídeo-aula - Criando uma Agenda no Excel 40m Clique aqui
Vídeo-aula - Curso de Macros e Programação VBA no Excel - Avançado 11h27m Clique aqui
Vídeo-aula - Curso de Macros e Programação VBA no Excel - Básico e Int... 13h02m Clique aqui
Vídeo-aula - Excel 2003 - Curso Básico 3h03m Clique aqui
Vídeo-Aula - Excel 2007 - Curso Avançado 2h30m Clique aqui
Vídeo-Aula - Excel 2007 - Curso Básico 2h35m Clique aqui
Vídeo-Aula - Tabelas Dinâmicas Avançadas no Excel 2003 2h Clique aqui
Vídeo-aula - Tudo Sobre Funções Matriciais no Excel 2h30m Clique aqui
Vídeo-Aula - Tudo Sobre Gráficos no Excel 9h Clique aqui
Vídeo-aula interativa: Tudo Sobre Tabelas Dinâmicas no Excel 2003 2h30m Clique aqui
WORD
Vídeo-Aula - Curso Básico de Word 2003 2h14m Clique aqui
Vídeo-aula - Word 2003 Avançado 1h34m Clique aqui
Vídeo-aula - Word 2003 Básico 2h14m Clique aqui
Vídeo-Aula - Word 2007 - Curso Básico 2h23m Clique aqui
POWERPOINT
Vídeo-Aula - Curso Básico de PowerPoint 2003 2h22m Clique aqui
WINDOWS
Vídeo-Aula - Curso Básico de Windows XP 2h36m Clique aqui
Vídeo-Aula - Windows XP - Formatação e Instalação 3h47m Clique aqui
Vídeo-Aula - Windows XP Básico + Intermediário + Dicas Práticas 8h Clique aqui
PROGRAMAÇÃO
Vídeo-Aula - CALCULADORA HP 12C - Curso Prático em 80 Lições 02h30m Clique aqui
Vídeo-Aula - CALCULADORAS HP 50G - 49G/G+ - 48 GII -- Clique aqui
Vídeo-Aula - Curso Completo de Lógica de Programação 22h15m Clique aqui
Vídeo-Aula - Lógica de Programação com VB.NET 14h Clique aqui
CONCURSOS PÚBLICOS
Vídeo-aula - Excel Para Concursos Públicos - Simulados e Provas Coment... 2h Clique aqui
Vídeo-Aula - Matemática Básica - Módulo I 22h Clique aqui
Vídeo-aula - Matemática Financeira - Teoria e Prática 9h10m Clique aqui
Vídeo-Aula - Raciocínio Lógico - Curso Completo e Prático 12h Clique aqui
Vídeo-aula - Série Concursos: Inglês ESAF - Simulados e Provas Comenta... 2h Clique aqui
BANCO DE DADOS
Vídeo-Aula - Dominando o ORACLE - Curso Prático 12h Clique aqui
Vídeo-Aula - MySQL - Curso Completo e Prático 11h30m Clique aqui
Vídeo-aula - SQL Server 2005 - Reporting Services 2h30m Clique aqui
WEBDESIGN
Vídeo-Aula - Criação de Sites - Curso Básico 2h53m Clique aqui
Vídeo-Aula - Criando Blogs Profissionais - Curso Completo 45m Clique aqui
Vídeo-Aula - Criando Sites Dinâmicos Avançados com DreamWeaver CS3, PH... 4h54m Clique aqui
Vídeo-Aula - Criando Sites Dinâmicos com DreamWeaver CS3, PHP e MySQL 4h05m Clique aqui
Vídeo-Aula - Criando uma Loja Virtual com PHP e MySQL - Curso Completo 19h Clique aqui
Vídeo-Aula - Curso Completo de PHP + HTML + CSS 27h35m Clique aqui
Vídeo-Aula - DreamWeaver CS4 - Curso Prático 1h53m Clique aqui
Vídeo-aula - Flash CS3 - Básico e Prático 4h45m Clique aqui
Vídeo-Aula - Flash MX - Curso Básico 2h26m Clique aqui
Vídeo-Aula - HTML - Curso Prático 2h40m Clique aqui
Vídeo-Aula - Tableless - Crie Sites 100% nos Padrões Web 4h10m Clique aqui
INTERNET
DVD: Hardware - Curso Básico 58m Clique aqui
Vídeo-Aula - Curso de Microinformática Prática 4h35m Clique aqui
Vídeo-aula - Curso Prático de Internet 40m Clique aqui
Vídeo-aula - Curso Prático de Outlook Express 55m Clique aqui
CAD
Vídeo-Aula - Curso de Autocad 2D 4h Clique aqui
Vídeo-Aula - Curso de Autocad 3D 3h45m Clique aqui
VÍDEO E ÁUDIO
DVD: Conversão de Formatos Digitais: Áudio e Vídeo 1h26m Clique aqui
Vídeo-Aula - Como Criar Vídeo-Aulas - Curso Prático 1h04m Clique aqui
Vídeo-Aula - Curso de Teoria Musical 1h Clique aqui
PROGRAMAS GRÁFICOS
Vídeo-Aula -  Flash CS4 - Curso Prático 2h19m Clique aqui
Vídeo-Aula - Curso de CorelDraw X4 - Módulo I 3h Clique aqui
Vídeo-Aula - Curso Profissional Photoshop 4h20m Clique aqui
Vídeo-Aula - Fireworks CS4 - Curso Prático 1h35m Clique aqui
Vídeo-Aula - Photoshop CS4 - Curso Prático 4h24m Clique aqui
ADMINISTRAÇÃO E NEGÓCIOS
DVD - Curso de Oratória - Falando em Público sem Medo 2h36m Clique aqui
LIVROS CAMPEÕES DE VENDA NO SITE
Dossiê Hacker
Universidade Project
Loja de Livros

Uma verdadeira especialização em Office, com 6208 páginas de conteúdo que vai do básico ao avançado, detalhadamente explicado e exemplificado. Desde os recursos básicos, passando pelos recursos avançados, pela criação de macros e pela automação de tarefas usando programação VBA.

Apenas: R$ 195,00 (valor do frete já incluído)

CLIQUE AQUI PARA SABER COMO COMPRAR ESTE CD