Fichiers de format non-XML (SQL Server)

Dans SQL Server 2012, deux types de fichiers de format sont pris en charge pour l'exportation et l'importation en bloc : les fichiers de format non XML et les fichiers de format XML.

Dans cette rubrique :

  • Avantages

  • Structure des fichiers de format non XML

  • Exemple de fichier de format non XML

  • Tâches associées

Avantages des fichiers de format non XML

  • Vous pouvez créer un fichier de format non XML automatiquement en spécifiant l'option format dans une commande bcp.

  • Lorsque vous spécifiez un fichier de format existant dans une commande bcp, cette dernière utilise les valeurs enregistrées dans un fichier de format et ne vous demande alors pas le type de stockage dans le fichier, la longueur du préfixe, la longueur des champs, ni l'indicateur de fin de champ.

  • Vous pouvez créer un fichier de format pour un type de données particulier, tel que les données de type caractère ou les données au format natif.

    Vous pouvez créer un fichier de format non XML qui contient des attributs spécifiés de manière interactive pour chaque champ de données. Pour plus d'informations, consultez Spécifier des formats de données pour la compatibilité lors de l'utilisation de bcp (SQL Server).

[!REMARQUE]

Les fichiers de format XML offrent différents avantages par rapport aux fichiers de format non XML. Pour plus d'informations, consultez Fichiers de format XML (SQL Server).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Structure des fichiers de format non XML

Un fichier de format non XML est un fichier texte contenant une structure particulière. Il contient des informations sur le type de stockage du fichier, la longueur du préfixe et celle des champs, ainsi que le caractère de fin de champ de chaque colonne constituant la table.

L'exemple suivant présente les champs de fichier de format d'un fichier de format non XML.

Identifie les champs d'un fichier de format non XML

Les champs Version et Nombre de colonnes n'apparaissent qu'une seule fois. Leurs significations sont décrites dans le tableau suivant.

Champ du fichier de format

Description

Version

Numéro de version de l'utilitaire bcp :

9.0 = SQL Server 2005 

10.0 = SQL Server 2008

11.0 = SQL Server 2012

Ce numéro de version n'est reconnu que par bcp, et non par Transact-SQL.

[!REMARQUE]

La version de l'utilitaire bcp (Bcp.exe) servant à lire un fichier de format doit être identique ou ultérieure à la version utilisée pour créer le fichier de format. Par exemple, SQL Server 2008 bcp peut lire un fichier de format version 9.0 généré par SQL Server 2005 bcp, mais SQL Server 2005 bcp ne peut pas lire un fichier de format version 10.0 généré par SQL Server 2008 bcp.

Nombre de colonnes

Nombre de champs dans le fichier de données. Il doit être identique pour toutes les lignes.

Les autres champs de fichier de format décrivent les champs de données à importer ou exporter en bloc. Chaque champ de données nécessite une ligne séparée dans le fichier de format. Chaque ligne de fichier de format contient les valeurs des champs de fichier de format décrits dans le tableau suivant.

Champ du fichier de format

Description

Ordre des champs du fichier hôte

Nombre indiquant la position de chaque champ dans le fichier de données. Le premier champ de la ligne correspond à la valeur 1, etc.

Type de données du fichier hôte

Indique que le type de données est stocké dans un champ précis du fichier de données. Dans le cas des fichiers de données ASCII, utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez les types de données par défaut. Pour plus d'informations, consultez Spécifier le type de stockage de fichiers à l'aide de bcp (SQL Server).

Longueur de préfixe

Nombre de caractères du préfixe de longueur pour le champ. Les longueurs de préfixe valides sont 0, 1, 2, 4 et 8. Pour éviter de spécifier le préfixe de longueur, définissez la valeur 0. Un préfixe de longueur doit être spécifié si le champ contient des valeurs de données NULL. Pour plus d'informations, consultez Spécifier une longueur de préfixe dans des fichiers de données à l'aide de bcp (SQL Server).

Longueur des données du fichier hôte

Longueur maximale, en octets, du type des données stockées dans le champ particulier du fichier de données.

Si vous créez un fichier de format non XML pour un fichier texte délimité, vous pouvez spécifier 0 pour la longueur des données du fichier hôte de chaque champ de données. Lors de l'importation d'un fichier de texte délimité ayant un indicateur de fin et une longueur de préfixe de 0, la valeur de longueur de champ est ignorée, car l'espace de stockage utilisé par le champ est égal à la longueur des données plus le terminateur.

Pour plus d'informations, consultez Spécifier la longueur des champs au moyen de bcp (SQL Server).

Indicateur de fin

Caractère de séparation utilisé pour délimiter les champs dans un fichier de données. Les indicateurs de fin communs sont la virgule (,), la tabulation (\t) et la fin de ligne (\r\n). Pour plus d'informations, consultez Spécifier des indicateurs de fin de champ et de fin de ligne (SQL Server).

Ordre des colonnes du serveur

Ordre dans lequel les colonnes apparaissent dans la table SQL Server. Par exemple, si le quatrième champ du fichier de données est mappé sur la sixième colonne d'une table SQL Server, l'ordre de la colonne sur le serveur correspondant au quatrième champ est défini sur 6.

Pour éviter qu'une colonne d'une table reçoive des données d'un fichier de données, définissez l'ordre de colonne sur le serveur sur 0.

Nom de colonne du serveur

Nom de la colonne pris de la table SQL Server. Il n'est pas indispensable d'utiliser le nom réel du champ, mais le champ ne doit pas être vide dans le fichier de format.

Classement par colonnes

Classement utilisé pour stocker des caractères et des données Unicode dans le fichier de données.

[!REMARQUE]

Vous pouvez modifier un fichier de format afin de pouvoir importer des données en bloc à partir d'un fichier de données dans lequel le nombre et/ou l'ordre des champs diffèrent du nombre ou de l'ordre des colonnes de la table. Pour plus d'informations, consultez la liste Tâches associées, plus loin dans cette rubrique.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Exemple de fichier de format non XML

L'exemple suivant affiche un fichier de format non XML créé précédemment (myDepartmentIdentical-f-c.fmt). Ce fichier décrit un champ de données de type caractère pour chaque colonne de la table HumanResources.Department dans la base de données exemple AdventureWorks.

Le fichier de format généré myDepartmentIdentical-f-c.fmt contient les informations suivantes :

11.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""

[!REMARQUE]

Pour une illustration des champs de fichier de format par rapport à cet exemple de fichier de format non XML, consultez Structure des fichiers de format non XML, plus haut dans cette rubrique.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Tâches associées

[Haut de la page]

Voir aussi

Référence

Utilitaire bcp

Concepts

Créer un fichier de format (SQL Server)

Fichiers de format XML (SQL Server)

Fichiers de format pour l'importation ou l'exportation de données (SQL Server)