Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment faire pour importer XML dans SQL Server avec le composant de chargement en bloc de XML

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 316005
Résumé
Données qui sont exprimées en XML peuvent être chargées dans une base de données Microsoft SQL Server 2000 en utilisant le composant de chargement en bloc de XML. Cet article décrit les étapes que vous devez suivre pour charger des données XML dans une table qui existe déjà dans la base de données.

Remarque Si vous utilisez Microsoft SQL Server 2005, consultez la rubrique « Exemples de chargement en bloc XML » dans la documentation en ligne de SQL Server 2005.

back to the top

Configuration requise

Pour utiliser les étapes de cet article, vous devez avoir :
  • Web version 1 du schéma XML pour SQL Server 2000 (SQLXML), objet.
Connaissances préalables requises :
  • Des connaissances en XML.

back to the top

Créer table pour recevoir les données

Utilisez les étapes suivantes pour créer une table destinée à recevoir les données qui traite le composant de chargement en bloc de XML.
  1. Créer une base de données nommée MyDatabase dans SQL Server.
  2. Ouvrez l'Analyseur de requêtes SQL et choisissez la base de données MyDatabase.
  3. Créer une table Customer dans MyDatabase en exécutant l'instruction SQL suivante dans l'Analyseur de requêtes :
    USE MyDatabaseCREATE TABLE Customer (   CustomerId INT PRIMARY KEY,   CompanyName NVARCHAR(20),   City NVARCHAR(20))					

back to the top

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

Il s'agit de l'exemple de code de source de données. Collez ce code XML dans le bloc-notes, puis enregistrez le fichier sous 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

Créer le fichier de mappage de schéma

Le fichier suivant est un fichier qui vous permet de mapper le format de la source de données XML au format de la table Customer dans la base de données. Collez ce code XML dans le bloc-notes, puis enregistrez le fichier sous 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

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

C'est le script qui utilise le composant de chargement en bloc de XML pour insérer les trois enregistrements que vous avez créé dans la rubrique « Créer la Source fichier de données XML » dans la table que vous avez créé dans la rubrique « Créer pour recevoir les données de la Table » en utilisant le schéma de mappage décrit dans la rubrique « Créer le fichier de schéma de mappage ». Collez ce code VBScript dans le bloc-notes, puis enregistrez le fichier sous 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				
Corrigez les informations d'identification de ConnectionString sur la deuxième ligne du code afin que le script puisse fonctionner avec votre installation de SQL Server. Si vous ne corrigez pas la ligne 2, le message d'erreur suivant se produit après l'exécution du script :
Erreur de connexion à la source de données

back to the top

Exécutez le programme VBScript

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

back to the top

Vérifiez qu'il fonctionne

Dans l'Analyseur de requêtes SQL, basculez vers la base de données MyDatabase , puis exécutez cette requête :
SELECT * FROM Customer				
Notez que les trois enregistrements créés dans la rubrique « Créer le fichier de source de données XML » sont à présent dans la table client .

back to the top

Autre technique

Le composant de chargement en bloc de XML est en mesure de :
  • Mappage d'un document XML à tables multiples à l'aide d'arelationship spécifiée dans le fichier de schéma XML.
  • Génération de schémas de table avant le chargement en bloc.
  • Chargement à partir d'un flux de données en bloc.
  • Chargement des colonnes de dépassement de capacité en bloc.

back to the top

RÉFÉRENCES

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

back to the top

Avertissement : cet article a été traduit automatiquement

Propriétés

ID d'article : 316005 - Dernière mise à jour : 05/10/2015 02:30:00 - Révision : 6.0

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

  • kbsqlsetup kbhowtomaster kbmt KB316005 KbMtfr
Commentaires