Você está offline; aguardando reconexão

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

Como importar o XML no SQL Server com o componente XML Bulk Load

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 316005
Sumário
Dados que é expresso em XML podem ser carregados em um banco de dados do Microsoft SQL Server 2000 usando o componente de carregamento em massa de XML. Este artigo descreve as etapas a serem seguidas para carregar dados XML em uma tabela que já existe no banco de dados.

Observação: Se você estiver usando o Microsoft SQL Server 2005, consulte o tópico "Exemplos de carregamento do XML em massa" no SQL Server 2005 Books Online.

back to the top

Requisitos

Para usar as etapas neste artigo que é necessário:
  • Web Release 1 do XML para SQL Server 2000 (SQLXML), orlater.
Conhecimento prévio requerido:
  • Conhecimento de XML.

back to the top

Criar tabela para receber os dados

Use as seguintes etapas para criar uma tabela para receber os dados que processa o componente de carregamento em massa de XML.
  1. Crie um banco de dados chamado MyDatabase no SQL Server.
  2. Abra o SQL Query Analyzer e, em seguida, altere o banco de dados para MyDatabase.
  3. Crie uma tabela de clientes no MyDatabase executando a seguinte instrução SQL no Query Analyzer:
    USE MyDatabaseCREATE TABLE Customer (   CustomerId INT PRIMARY KEY,   CompanyName NVARCHAR(20),   City NVARCHAR(20))					

back to the top

Crie o arquivo de fonte de dados XML

Este é o código de fonte de dados de exemplo. Cole esse XML no bloco de notas e salve o arquivo como C:/Customers.xml.
<ROOT>  <Customers>    <CustomerId>1111</CustomerId>    <CompanyName>Sean Chai</CompanyName>    <City>NY</City>  </Customers>  <Customers>    <CustomerId>1112</CustomerId>    <CompanyName>Tom Johnston</CompanyName>    <City>LA</City>  </Customers>  <Customers>    <CustomerId>1113</CustomerId>    <CompanyName>Institute of Art</CompanyName>  </Customers></ROOT>				

back to the top

Criar o arquivo de esquema de mapeamento

Este próximo arquivo é um arquivo que você usar para mapear o formato da fonte de dados XML para o formato da tabela Customer no banco de dados. Cole esse XML no bloco de notas e salve o arquivo como C:/Customermapping.xml.
<?xml version="1.0" ?><Schema xmlns="urn:schemas-microsoft-com:xml-data"         xmlns:dt="urn:schemas-microsoft-com:xml:datatypes"          xmlns:sql="urn:schemas-microsoft-com:xml-sql" >    <ElementType name="CustomerId" dt:type="int" />   <ElementType name="CompanyName" dt:type="string" />   <ElementType name="City" dt:type="string" />   <ElementType name="ROOT" sql:is-constant="1">      <element type="Customers" />   </ElementType>   <ElementType name="Customers"  sql:relation="Customer">      <element type="CustomerId"  sql:field="CustomerId" />      <element type="CompanyName" sql:field="CompanyName" />      <element type="City"        sql:field="City" />   </ElementType></Schema>				

back to the top

Crie um programa de VBScript para executar o componente de carregamento em massa de XML

Este é o script que usa o componente de carregamento em massa de XML para inserir os três registros criados no título "Criar a origem arquivo de dados XML" na tabela que você criou no título "Criar tabela para receber os dados", usando o esquema de mapeamento discutido no título "Criar o arquivo de esquema de mapeamento". Cole este código VBScript no bloco de notas e salve o arquivo como C:\Insertcustomers.vbs.
Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MySQLServer;database=MyDatabase;uid=MyAccount;pwd=MyPassword"objBL.ErrorLogFile = "c:\error.log"objBL.Execute "c:\customermapping.xml", "c:\customers.xml"Set objBL = Nothing				
Corrija as credenciais ConnectionString na segunda linha do código para que o script possa trabalhar com a instalação do SQL Server. Se você não corrigir a linha 2, a seguinte mensagem de erro ocorre após você executar o script:
Erro ao se conectar à fonte de dados

back to the top

Execute o programa de VBScript

Execute o programa de VBScript C:\Insertcustomers.vbs para inserir os registros de três clientes na tabela clientes .

back to the top

Verifique se que ele funciona

No SQL Query Analyzer, alterne para o banco de dados MyDatabase e, em seguida, executar esta consulta:
SELECT * FROM Customer				
Observe que os três registros criados no título "Criar arquivo de fonte de dados XML" agora estão na tabela de clientes .

back to the top

Técnica alternativa

O componente de carregamento em massa de XML é capaz de:
  • Mapeamento de um documento XML para tabelas de múltiplos usando arelationship especificado no arquivo de esquema XML.
  • Gerar esquemas de tabela antes de carregamento em massa.
  • Carregamento de um fluxo em massa.
  • Carregamento em colunas de estouro em massa.

back to the top

REFERÊNCIAS

SQLXML livros on-line; tópico: "Executar carregamento em massa de dados XML"

back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 316005 - Última Revisão: 03/15/2015 07:18:00 - Revisão: 5.0

  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • kbsqlsetup kbhowtomaster kbmt KB316005 KbMtpt
Comentários
id=1&t=">DI=4050&did=1&t=">TagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> mp;t=">gt;
om/ms.js'><\/script>"); &t=">