Share via


Spécifier des formats de données pour la compatibilité lors de l'utilisation de bcp (SQL Server)

Cette rubrique décrit les attributs de format de données, les invites spécifiques aux champs et le stockage des données champ par champ dans un fichier de format non-XML de la commande SQL Server bcp. La compréhension de ces notions peut être utile lorsque vous exportez des données SQL Server en bloc à des fins d'importation en bloc dans un autre programme, tel qu'un autre programme de base de données. Les formats de données par défaut (natif, caractère ou Unicode) dans la table source peuvent être incompatibles avec la disposition des données attendue par l'autre programme. S'il existe une discordance lorsque vous exportez les données, vous devez décrire la disposition des données.

[!REMARQUE]

Si vous ne maîtrisez pas les formats de données pour l'importation ou l'exportation de données, consultez Formats de données pour l'importation en bloc ou l'exportation en bloc (SQL Server).

Dans cette rubrique :

  • Attributs de format de données bcp

  • Vue d'ensemble des invites spécifiques aux champs

  • Stockage de données champ par champ dans un fichier de format non-XML

  • Tâches associées

  • Contenu connexe

Attributs de format de données bcp

La commande bcp vous permet de spécifier la structure de chaque champ dans un fichier de données, selon les attributs de format de données suivants :

  • Type de stockage de fichier

    Le type de stockage de fichier décrit la façon dont les données sont stockées dans le fichier de données. Les données peuvent être exportées vers un fichier de données au type de table de base de données (format natif), dans sa représentation caractères (format caractères) ou tout type de données pour lesquelles la conversion implicite est prise en charge ; par exemple, en copiant un type de données smallint comme int. Les types de données définis par l'utilisateur sont exportés en tant que leurs propres types de base. Pour plus d'informations, consultez Spécifier le type de stockage de fichiers à l'aide de bcp (SQL Server).

  • Longueur de préfixe

    Pour permettre le stockage de fichier le plus compact lors de l'exportation en bloc de données au format natif vers un fichier de données, la commande bcp ajoute devant chaque champ un ou plusieurs caractères indiquant la longueur du champ. Ces caractères sont appelés des caractères de préfixe de longueur. 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 du champ

    La longueur de champ indique le nombre maximal de caractères nécessaires pour représenter les données au format caractères. La longueur de champ est déjà connue si les données sont stockées au format natif. Pour plus d'informations, consultez Spécifier la longueur des champs au moyen de bcp (SQL Server).

  • Marque de fin de champ

    Pour les champs de données caractères, des caractères de fin facultatifs vous permettent de marquer la fin de chaque champ dans un fichier de données (à l'aide d'une marque de fin de champ), ainsi que la fin de chaque ligne (avec une marque de fin de ligne). Les caractères de fin constituent un moyen d'indiquer aux programmes lisant le fichier de données la fin d'un champ ou d'une ligne et le début du suivant. Pour plus d'informations, consultez Spécifier des indicateurs de fin de champ et de fin de ligne (SQL Server).

[Haut de la page]

Vue d'ensemble des invites spécifiques aux champs

Si une commande bcp interactive contient l'option in ou out mais ne contient pas également soit le commutateur de format de fichier (-f), soit le commutateur de format de données (-n, -c, -w ou -N), pour chaque colonne de la table source ou cible, la commande vous invite à fournir chacun des attributs précédents. À chaque invite, la commande bcp fournit une valeur par défaut basée sur le type de données SQL Server de la colonne de table. L'acceptation de la valeur par défaut pour toutes les invites produit le même résultat que la spécification du format natif (-n) sur la ligne de commande. Chaque invite affiche une valeur par défaut entre crochets : [default]. En appuyant sur la touche Entrée, vous acceptez les valeurs par défaut affichées. Pour spécifier une valeur différente de celle par défaut, entrez cette nouvelle valeur à l'invite.

Exemple

L'exemple suivant utilise la commande bcp pour l'exportation en bloc interactive de données à partir de la table HumanResources.myTeam vers le fichier myTeam.txt. Avant de pouvoir exécuter cet exemple, vous devez créer cette table. Pour plus d'informations sur la table et la manière de la créer, consultez Exemple de table HumanResources.myTeam (SQL Server).

La commande ne spécifie ni un fichier de format, ni un type de données ; l'utilitaire bcp vous invite donc à fournir des informations de format de données. À l'invite de commandes Microsoft Windows, tapez :

bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T

Pour chaque colonne, l'utilitaire bcp demande des valeurs spécifiques au champ. L'exemple suivant illustre les messages spécifiques au champ pour les colonnes EmployeeID et Name de la table. En outre, il suggère le type de stockage de fichier par défaut (le format natif) pour chaque colonne. Les longueurs de préfixe des colonnes EmployeeID et Name sont 0 et 2, respectivement. L'utilisateur spécifie une virgule (,) en tant que marque de fin pour chaque champ.

Enter the file storage type of field EmployeeID [smallint]:

Enter prefix-length of field EmployeeID [0]:

Enter field terminator [none]:,

Enter the file storage type of field Name [nvarchar]:

Enter prefix length of field Name [2]:

Enter field terminator [none]:,

.

.

.

Des messages équivalents (si nécessaire) s'affichent pour chacune des colonnes de table dans l'ordre.

[Haut de la page]

Stockage de données champ par champ dans un fichier de format non-XML

Une fois toutes les colonnes de table spécifiées, la commande bcp vous invite à générer facultativement un fichier de format non-XML qui stocke les informations champ par champ venant d'être fournies (voir l'exemple précédent). Si vous choisissez de générer un fichier de format, vous pouvez effectuer cette opération dès que vous exportez des données vers cette table ou que vous importez des données structurées de la sorte dans SQL Server.

[!REMARQUE]

Vous pouvez utiliser le fichier de format pour importer en bloc des données à partir du fichier de données vers une instance de SQL Server ou exporter en bloc des données depuis la table, sans devoir spécifier à nouveau le format. Pour plus d'informations, consultez Fichiers de format pour l'importation ou l'exportation de données (SQL Server).

L'exemple suivant crée un fichier de format non XML nommé myFormatFile.fmt.

Do you want to save this format information in a file? [Y/n] y

Host filename: [bcp.fmt]myFormatFile.fmt

Le nom par défaut du fichier de format est bcp.fmt, mais vous pouvez spécifier un nom différent si vous le souhaitez.

[!REMARQUE]

Pour un fichier de données qui utilise un seul format de données pour son type de stockage de fichiers, tel qu'un format caractères ou natif, vous pouvez créer rapidement un fichier de format sans exportation ni importation de données, à l'aide de l'option format. Cette approche présente les avantages d'être aisée et de vous permettre de créer un fichier de format XML ou non-XML. Pour plus d'informations, consultez Créer un fichier de format (SQL Server).

[Haut de la page]

Tâches associées

Contenu connexe

Aucun.

Voir aussi

Référence

Utilitaire bcp

Types de données (Transact-SQL)

Concepts

Importation et exportation en bloc de données (SQL Server)

Formats de données pour l'importation en bloc ou l'exportation en bloc (SQL Server)