Comment importer XML dans SQL Server avec le composant charge liste XML

Traductions disponibles Traductions disponibles
Numéro d'article: 316005 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Données qui sont exprimées en XML peuvent être chargées dans une base de données Microsoft SQL Server 2000 à l'aide du composant de chargement en bloc XML. Cet article décrit les étapes à suivre pour charger des données XML dans une table qui existe déjà dans la base de données.

note Si vous utilisez Microsoft SQL Server 2005, reportez-vous à la rubrique « liste XML charge exemples » documentation en ligne de SQL Server 2005 de.

Configuration requise

Pour utiliser la procédure décrite dans cet article, que vous devez :
  • Web version 1 du XML pour SQL Server 2000 (SQLXML), ou version ultérieure.
Connaissance préalable requise :
  • Connaissance de XML.

Créer table pour recevoir les données

Procédez comme suit pour créer une table pour recevoir les données qui traite le composant de chargement en bloc XML.
  1. Créer une base de données nommée Ma_base_de_données dans SQL Server.
  2. Ouvrir l'Analyseur de requêtes SQL et modifiez la base de données à Ma_base_de_données .
  3. Créer une table clients dans Ma_base_de_données en exécutant l'instruction SQL suivante dans l'Analyseur de requêtes :
    USE MyDatabase
    CREATE TABLE Customer (
       CustomerId INT PRIMARY KEY,
       CompanyName NVARCHAR(20),
       City NVARCHAR(20))
    					

Créer le fichier de source de données XML

C'est le code de source de données exemple. Collez ce XML dans le bloc-notes et puis enregistrez le fichier en tant que 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>
				

Créer le fichier de schéma mappage

Ce fichier suivant est un fichier qui vous permet de mapper le format de la source de données XML vers le format de la table clients dans la base de données. Collez ce XML dans le bloc-notes et puis enregistrez le fichier en tant que 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>
				

Créer un VBScript programme à exécuter le composant de chargement en bloc XML

Cela correspond au script qui utilise le composant de chargement en bloc XML pour insérer les trois enregistrements que vous avez créé dans le « Création du XML données source fichier » titre dans la table que vous avez créé dans la « créer table pour recevoir la données » titre à l'aide du schéma de mappage abordées dans l'en-tête « créer le fichier de schéma mappage ». Collez ce code VBScript dans le bloc-notes et puis enregistrez le fichier en tant que 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
				
corriger les informations d'identification ConnectionString sur la deuxième ligne du code afin que le script peut fonctionner avec votre installation de SQL Server. Si vous ne corrigez pas ligne 2, le message d'erreur suivant se produit après l'exécution du script :
Erreur lors de la connexion à la source de données

Exécutez le VBScript programme

Exécutez le programme VBScript C:\Insertcustomers.vbs à insérer les enregistrements clients trois dans la table client .

Vérifiez qu'il fonctionne

Dans l'Analyseur de requêtes SQL, basculez vers la base de données Ma_base_de_données et exécutez cette requête :
SELECT * FROM Customer
				
Remarque les trois enregistrements créés dans l'en-tête « créer le fichier de source de données XML » se trouvent maintenant dans la table client .

Autre technique

Le composant de chargement en bloc XML est capable de :
  • Mappage un document XML à tables multiples en utilisant une relation spécifiée dans le fichier de schéma XML.
  • Génération de schémas de table avant de chargement en masse.
  • En bloc chargement à partir d'un flux de données.
  • En bloc du chargement des colonnes de dépassement de capacité.



RÉFÉRENCES

SQLXML documentation en ligne ; rubrique: « exécution liste charge de XML données »

Propriétés

Numéro d'article: 316005 - Dernière mise à jour: vendredi 23 décembre 2005 - Version: 4.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 2000 Édition 64 bits
  • 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
Mots-clés : 
kbmt kbhowtomaster KB316005 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 316005
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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