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

Traduções deste artigo Traduções deste artigo
ID do artigo: 316005 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Dados que é expresso em XML podem ser carregados em um banco de dados do Microsoft SQL Server 2000 usando o componente XML Bulk Load. Este artigo descreve as etapas que precisam ser 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 "XML Bulk Load exemplos" nos manuais online do SQL Server 2005.

Requisitos

Para usar as etapas neste artigo, que você precisa:
  • Web Release 1 do XML para o SQLXML (SQL Server 2000), ou posterior.
Conhecimento prévio necessário:
  • Conhecimento de XML.

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 MeuBancoDeDados no SQL Server.
  2. Abra o SQL Query Analyzer e, em seguida, altere o banco de dados para MeuBancoDeDados .
  3. Criar uma tabela clientes no MeuBancoDeDados executando a instrução SQL a seguir no Query Analyzer:
    USE MyDatabase
    CREATE TABLE Customer (
       CustomerId INT PRIMARY KEY,
       CompanyName NVARCHAR(20),
       City NVARCHAR(20))
    					

Criar o arquivo de fonte de dados XML

É o código de origem de dados 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>
				

Criar o arquivo de esquema de mapeamento

Este arquivo próximo é um arquivo que você usa 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>
				

Criar um VBScript programa para executar o componente XML Bulk Load

Este é o script usa o componente XML Bulk Load para inserir os três registros que você criou no "criar o XML Data Source arquivo" título na tabela que você criou no "criar tabela para receber o dados" título usando o esquema de mapeamento discutido o título "Criar o arquivo de esquema de mapeamento". Colar esse código de VBScript no bloco de notas e, em seguida, 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
				
corrigir as credenciais de ConnectionString na segunda linha do código para que o script possa trabalhar com a instalação do SQL Server. Se você não corrigirem linha 2, a seguinte mensagem de erro ocorre após você executar o script:
Erro ao se conectar à fonte de dados

Executar o VBScript programa

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

Verifique se que ele funciona

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

Técnica alternativa

O componente XML Bulk Load é capaz de:
  • Mapeamento de um documento XML para tabelas de múltiplos usando uma relação especificada no arquivo de esquema XML.
  • Gerar esquemas de tabela antes de carregar em massa.
  • Em massa carregamento de um fluxo.
  • Em massa carregamento em colunas de estouro.



REFERÊNCIAS

Manuais online do SQLXML; tópico: "Executando Bulk Load de XML dados"

Propriedades

ID do artigo: 316005 - Última revisão: sexta-feira, 23 de dezembro de 2005 - Revisão: 4.4
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbmt kbhowtomaster KB316005 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 316005

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com