Come importare XML in SQL Server con il componente di caricamento di massa XML

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 316005
Sommario
Possibile caricare i dati che sono espresso in formato XML in un database Microsoft SQL Server 2000 utilizzando il componente di caricamento di massa XML. In questo articolo vengono descritte le procedure da seguire per caricare dati XML in una tabella già esistente nel database.

Nota Se si utilizza Microsoft SQL Server 2005, vedere l'argomento "Esempi di XML Bulk Load" nella documentazione in linea di SQL Server 2005.

back to the top

Requisiti

Per utilizzare la procedura descritta in questo articolo che è necessario:
  • Web versione 1 di XML per SQL Server 2000 (SQLXML), oggetto.
Conoscenza necessaria:
  • Conoscenza di XML.

back to the top

Creare la tabella per ricevere i dati

Attenersi alla seguente procedura per creare una tabella per ricevere i dati che elabora il componente di caricamento di massa XML.
  1. Creare un database denominato MyDatabase in SQL Server.
  2. Aprire SQL Query Analyzer e quindi modificare il database in MyDatabase.
  3. Creare una tabella clienti in MyDatabase eseguendo la seguente istruzione SQL in Query Analyzer:
    USE MyDatabaseCREATE TABLE Customer (   CustomerId INT PRIMARY KEY,   CompanyName NVARCHAR(20),   City NVARCHAR(20))					

back to the top

Creare il file di origine dati XML

Questo è il codice di origine dati di esempio. Incollare questo codice XML nel blocco note e quindi salvare il file come 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

Creare il file di schema di mapping

Questo file successivo è un file che è possibile utilizzare per eseguire il mapping del formato dell'origine dati XML nel formato della tabella clienti nel database. Incollare questo codice XML nel blocco note e quindi salvare il file come 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

Creare un programma VBScript per eseguire il componente di caricamento di massa XML

Questo è lo script che utilizza il componente di caricamento di massa XML per inserire i tre record creato nel titolo "Creazione del File di origine di dati del XML" nella tabella creata nella voce "Creare per ricevere i dati della tabella" utilizzando lo schema di mapping descritto nell'intestazione di "Creazione del File di Mapping dello Schema". Incollare il codice VBScript in blocco note e quindi salvare il file come 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				
Correggere le credenziali di ConnectionString nella seconda riga del codice in modo che lo script può funzionare con l'installazione di SQL Server. Se non si corregge la riga 2, il seguente messaggio di errore si verifica dopo l'esecuzione dello script:
Errore durante la connessione all'origine dati

back to the top

Eseguire il programma VBScript

Eseguire il programma VBScript C:\Insertcustomers.vbs per inserire i record dei tre clienti nella tabella clienti .

back to the top

Verificare il che funzionamento

In SQL Query Analyzer, passare al database MyDatabase e quindi eseguire la query seguente:
SELECT * FROM Customer				
Si noti che nella tabella clienti sono ora tre record creati nella voce "Crea file di origine dati XML".

back to the top

Tecnica alternativa

Il componente di caricamento di massa XML è in grado di:
  • Mapping di un documento XML a tabelle multipli utilizzando arelationship specificato nel file di schema XML.
  • Generazione degli schemi di tabella prima di caricamento di massa.
  • Caricamento da un flusso di massa.
  • Del caricamento di massa nelle colonne di overflow.

back to the top

RIFERIMENTI

Documentazione SQLXML in linea; argomento: "Esecuzione delle caricamento Bulk dei dati XML"

back to the top

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 316005 - Ultima revisione: 03/15/2015 05:57:00 - Revisione: 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 KbMtit
Feedback