Description des fichiers de format XML

Microsoft SQL Server 2005 et les versions ultérieures fournissent un schéma XML qui définit la syntaxe de l'écriture de fichiers de format XML. Les fichiers de format XML doivent respecter ce schéma, qui est défini en langage XSDL (XML Schema Definition Language). Les fichiers de format XML ne sont pris en charge que si les outils SQL Server sont installés conjointement avec SQL Server Native Client.

Notes

SQL Server 2005 et les versions ultérieures prennent en charge deux types de fichiers de format. En revanche, Microsoft SQL Server 2000 et les versions antérieures ne prennent en charge qu'un seul type de fichier de format. Pour différencier le type préexistant des fichiers de format XML, nous l'appellerons fichier de format non-XML.

Vous pouvez utiliser les fichiers de format XML pour importer des données en bloc dans des tables ou dans des vues non partitionnées et pour exporter des données en bloc. Les fichiers de format XML constituent une alternative aux fichiers de format non-XML, qui sont pris en charge dans SQL Server 2000 ainsi que dans les versions antérieures (et qui le sont encore). Les fichiers de format XML sont plus souples et plus puissants que les fichiers de format non-XML. Les fichiers de format XML sont faciles à comprendre et à créer. En outre, ils sont faciles à lire, ce qui permet de comprendre comment les données sont interprétées lors des opérations en bloc. Le codage XML décrit clairement les types de données et les éléments de données du fichier de données ainsi que la correspondance entre les éléments de données et les colonnes de table.

Un fichier de format XML peut être amélioré tout en demeurant compatible avec ses versions antérieures. En outre, la clarté du codage XML facilite la création de plusieurs fichiers de format pour un fichier de données spécifique. Cela est utile si vous devez mapper tout ou partie des champs de données à des colonnes de différentes tables ou vues.

La commande bcp vous permet de générer automatiquement un fichier de format XML pour une table ; pour plus d'informations, consultez Utilitaire bcp.

Structure des fichiers de format XML

À l'image d'un fichier de format non-XML, un fichier de format XML définit le format et la structure des champs de données d'un fichier de données et mappe ces champs avec les colonnes d'une table cible spécifique.

Un fichier de format XML possède deux composants principaux, <RECORD> et <ROW> :

  • Le composant <RECORD> décrit les données telles qu'elles sont stockées dans le fichier de données.

    Chaque élément <RECORD> contient un jeu d'un ou plusieurs éléments <FIELD>. Ces éléments correspondent aux champs du fichier de données. La syntaxe de base est la suivante :

    <RECORD>

       <FIELD .../> [ ...n ]

    </RECORD>

    Chaque élément <FIELD> décrit le contenu d'un champ de données spécifique. Un champ ne peut être mappé qu'à une seule colonne de la table. Tous les champs ne doivent pas être mappés à des colonnes.

    Un champ d'un fichier de données peut être de longueur fixe/variable ou terminé par un caractère. Une valeur de champ peut être représentée par un caractère (représentation sur un octet), un caractère large (représentation Unicode sur deux octets), un nom de fichier ou dans un format de base de données natif. Si une valeur de champ est représentée par un nom de fichier, celui-ci pointe vers le fichier qui contient la valeur d'une colonne BLOB de la table cible.

  • Le composant <ROW> décrit comment créer des lignes de données à partir d'un fichier de données lorsque les données du fichier sont importées dans une table SQL Server.

    Un élément <ROW> contient un ensemble d'éléments <COLUMN>. Ces éléments correspondent à des colonnes de table. La syntaxe de base est la suivante :

    <ROW>

       <COLUMN .../> [ ...n ]

    </ROW>

    Chaque élément <COLUMN> ne peut être mappé qu'à un seul champ du fichier de données. L'ordre des éléments de <COLUMN> dans l'élément <ROW> définit l'ordre dans lequel ils sont retournés par l'opération en bloc. Le fichier de format XML assigne à chaque élément <COLUMN> un nom local qui n'a aucune relation avec la colonne dans la table cible d'une opération d'importation en bloc.

Rubriques supplémentaires