Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Base de données SQL dans Microsoft Fabric
Cet article décrit les attributs de format de données, les invites spécifiques à chaque champ, et comment stocker des données champ par champ dans un fichier de format non XML de l’utilitaire bcp . Ces informations peuvent être utiles lors de l’exportation massive de données SQL Server pour une importation massive dans un autre programme, comme 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 que l’autre programme attend. En cas d’incompatibilité, vous devez décrire la disposition des données lors de l’exportation.
Remarque
Pour plus d’informations sur les formats de données pour l’importation ou l’exportation de données, voir Formats de données pour l’importation en masse ou l’exportation en masse.
Attributs du format de données BCP
Utilisez bcp pour spécifier la structure de chaque champ dans un fichier de données à travers les attributs 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. Vous pouvez exporter des données dans un fichier de données sous forme de table de base de données (format natif), dans sa représentation de caractères (format de caractère), ou comme tout type de données supportant la conversion implicite. Par exemple, vous pouvez copier un smallint comme un int. Les types de données définis par l’utilisateur sont exportés comme leurs types de base. Pour plus d’informations, voir Spécifier le type de stockage de fichiers à l’aide de bcp.
Longueur de préfixe
Pour fournir le stockage de fichiers le plus compact possible pour l’exportation massive de données au format natif vers un fichier de données,
bcpchaque champ précède un ou plusieurs caractères indiquant la longueur du champ. Ces caractères portent le nom de caractères de préfixe de longueur. Pour plus d’informations, voir Spécifier la longueur du préfixe dans les fichiers de données à l’aide de bcp.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, voir Spécifier la longueur du champ en utilisant bcp.
Marque de fin de champ
Pour les champs de données de caractères, les caractères terminants optionnels permettent de marquer la fin de chaque champ dans un fichier de données (en utilisant un terminateur de champs) et la fin de chaque ligne (en utilisant un terminateur 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 les indicateurs de fin de champ et de ligne.
Aperçu des consignes spécifiques à chaque domaine
Si vous exécutez bcp de manière interactive avec l’option in ou out , mais que vous n’incluez ni le changement de fichier de format (-f) ni le changement de format de données (-n, -c, -w, ou -N) pour chaque colonne de la table source ou cible, des bcp invites pour chacun des attributs précédents apparaîtront à tour de rôle. Pour chaque invite, bcp fournit une valeur par défaut en fonction du type de données SQL Server de la colonne de table. Le fait d’accepter la valeur par défaut pour tous les messages d’invite produit le même résultat que de spécifier le format natif (-n) sur la ligne de commande. Chaque invite affiche une valeur par défaut entre crochets : [valeur par défaut]. Appuyez sur ENTRÉE pour accepter la valeur par défaut affichée. Pour spécifier une valeur différente de celle par défaut, entrez cette nouvelle valeur à l'invite.
Exemple
L’exemple suivant sert bcp à exporter en masse des données de la HumanResources.myTeam table de manière interactive vers le myTeam.txt fichier. Avant de pouvoir exécuter cet exemple, vous devez créer cette table. Pour des informations sur la table et la manière de la créer, consultez Tableau d’exemple HumanResources.myTeam.
La commande ne spécifie ni de fichier de format ni de type de données, de sorte que bcp demande des informations sur le format des données. À l'invite de commandes de Windows, entrez :
bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T
Pour chaque colonne, bcp invite à saisir 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 EmployeeID colonnes et Name sont respectivement 0 et 2. 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 prompts équivalents apparaissent selon les besoins pour chaque colonne du tableau dans l’ordre.
Stockez les données champ par champ dans un fichier au format non XML
Après avoir spécifié toutes les colonnes du tableau, bcp il vous demande de générer éventuellement un fichier au format non XML qui stocke les informations champ par champ que vous venez de fournir (voir l’exemple précédent). Si vous choisissez de générer un fichier formaté, vous pouvez l’utiliser chaque fois que vous exportez des données de cette table ou importez des données structurées similaires 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, voir Formater les fichiers pour importer ou exporter des données.
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 autre nom de fichier si vous le souhaitez.
Remarque
Pour un fichier de données utilisant un seul format de données pour son type de stockage de fichier, comme un format de caractère ou natif, vous pouvez rapidement créer un fichier de format sans exporter ni importer de données en utilisant cette format option. Cette approche est simple et vous permet de créer soit un fichier au format XML, soit un fichier non-format XML. Pour plus d’informations, voir Créer un fichier de formatage avec bcp.
Tâches associées
- Spécifier le type de stockage de fichiers en utilisant BCP
- Spécifier la longueur du préfixe dans les fichiers de données à l’aide de bcp
- Spécifiez la longueur du champ en utilisant bcp
- Spécifier les terminateurs de champs et de lignes