Como importar XML para o SQL Server com o componente de carregamento em massa de XML

Traduções de Artigos Traduções de Artigos
Artigo: 316005 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Dados que é expresso em XML podem ser carregados para uma base de dados do Microsoft SQL Server 2000 utilizando o componente de carregamento em massa de XML. Este artigo descreve os passos necessários para carregar dados XML para uma tabela que já existe na base de dados.

Nota Se estiver a utilizar o Microsoft SQL Server 2005, consulte o tópico "Exemplos de carregamento do XML em massa" no SQL Server 2005 Books Online.

Requisitos

Para utilizar os passos neste artigo que é necessário:
  • Web versão 1 de XML para o SQL Server 2000 (SQLXML), ou posterior.
Conhecimento prévio necessário:
  • Conhecimentos de XML.

Criar tabela para receber os dados

Utilize os seguintes passos para criar uma tabela para receber os dados que processa o componente de carregamento em massa de XML.
  1. Crie uma base de dados denominada minhabasededados no SQL Server.
  2. Abra o SQL Query Analyzer e, em seguida, altere a base de dados para minhabasededados .
  3. Criar uma tabela clientes na minhabasededados executando a seguinte instrução SQL no analisador de consultas:
    USE MyDatabase
    CREATE TABLE Customer (
       CustomerId INT PRIMARY KEY,
       CompanyName NVARCHAR(20),
       City NVARCHAR(20))
    					

Criar o ficheiro de origem de dados XML

Trata-se o código de origem de dados de exemplo. Colar este XML no bloco de notas e, em seguida, guarde o ficheiro 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 ficheiro de esquema de mapeamento

Este ficheiro seguinte é um ficheiro que utiliza para mapear o formato da origem de dados XML para o formato da tabela clientes na base de dados. Colar este XML no bloco de notas e, em seguida, guarde o ficheiro 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 a executar o componente de carregamento em massa de XML

Este é o script que utiliza o componente de carregamento em massa de XML para inserir os três registos que criou no "criar o XML origem de ficheiro de dados" título na tabela que criou no "Criar tabela para receber o dados" título utilizando o esquema de mapeamento é discutido no título "Criar o mapeamento de esquema de ficheiro". Cole este código de VBScript no bloco de notas e, em seguida, guarde o ficheiro 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 ConnectionString na segunda linha do código de modo a que o script pode trabalhar com a instalação do SQL Server. Se não corrigirem linha 2, a seguinte mensagem de erro ocorre depois de executar o script:
Erro ao ligar à origem de dados

Executar o VBScript programa

Execute o programa de VBScript C:\Insertcustomers.vbs para inserir os registos de três cliente na tabela ' cliente '.

Verificar se funciona

No SQL Query Analyzer, mude para a base de dados minhabasededados e, em seguida, executar esta consulta:
SELECT * FROM Customer
				
Nota: os três registos criados no título "Criar o ficheiro de origem de dados XML" estão agora na tabela ' cliente '.

Técnica alternativa

O componente de carregamento em massa de XML é capaz de:
  • Mapeamento de um documento XML para múltiplos tabelas utilizando uma relação especificada no ficheiro de esquema XML.
  • Gerar tabela de esquemas antes de carregamento em massa.
  • Em massa carregados a partir de uma transmissão em sequência.
  • Em massa carregamento nas colunas de excesso.



REFERÊNCIAS

SQLXML Books Online; tópico: "Fazer o de em massa de dados de XML"

Propriedades

Artigo: 316005 - Última revisão: 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 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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