Utilitaire bcpbcp Utility

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Pour utiliser bcp sur Linux, consultez Installer sqlcmd et bcp sur Linux.For using bcp on Linux, see Install sqlcmd and bcp on Linux.

Pour plus d’informations sur l’utilisation de bcp avec Azure SQL Data Warehouse, consultez Charger des données avec bcp.For detailed information about using bcp with Azure SQL Data Warehouse, see Load data with bcp.

L’utilitaire bulk copy program (bcp) copie en bloc des données entre une instance de MicrosoftMicrosoft SQL ServerSQL Server et un fichier de données dans un format spécifié par l’utilisateur.The bulk copy program utility (bcp) bulk copies data between an instance of MicrosoftMicrosoft SQL ServerSQL Server and a data file in a user-specified format. L’utilitaire bcp permet d’importer un grand nombre de nouvelles lignes dans des tables SQL ServerSQL Server ou d’exporter des données de tables dans des fichiers de données.The bcp utility can be used to import large numbers of new rows into SQL ServerSQL Server tables or to export data out of tables into data files. Sauf lorsqu’il est utilisé avec l’option queryout , l’utilitaire ne nécessite aucune connaissance de Transact-SQLTransact-SQL.Except when used with the queryout option, the utility requires no knowledge of Transact-SQLTransact-SQL. Pour importer des données dans une table, vous devez utiliser un fichier de format créé pour cette table ou comprendre la structure de la table et les types de données valides pour ses colonnes.To import data into a table, you must either use a format file created for that table or understand the structure of the table and the types of data that are valid for its columns.

Icône de lien vers une rubrique Pour plus d’informations sur les conventions de syntaxe utilisées pour bcp, consultez Conventions de la syntaxe Transact-SQL (Transact-SQL).Topic link icon For the syntax conventions that are used for the bcp syntax, see Transact-SQL Syntax Conventions (Transact-SQL).

Notes

Si vous utilisez bcp pour sauvegarder vos données, créez un fichier de format pour enregistrer le format de données.If you use bcp to back up your data, create a format file to record the data format. Les fichiers de donnéesbcp n’incluent pas de schéma ni d’informations de format, ce qui fait que si une table ou une vue est supprimée et si vous n’avez pas de fichier de format, il se peut que vous ne soyez pas en mesure d’importer les données.bcp data files do not include any schema or format information, so if a table or view is dropped and you do not have a format file, you may be unable to import the data.

Télécharger la dernière version de l’utilitaire bcpDownload the latest version of bcp Utility

télécharger Télécharger les utilitaires de ligne de commande Microsoft 15 pour SQL Server (x64)download Download Microsoft Command Line Utilities 15 for SQL Server (x64)
télécharger Télécharger les utilitaires de ligne de commande Microsoft 15 pour SQL Server (x86)download Download Microsoft Command Line Utilities 15 for SQL Server (x86)

Les outils en ligne de commande sont en disponibilité générale (GA), mais ils sont publiés avec le package d’installation de SQL Server 2019 (15.x)SQL Server 2019 (15.x).The command-line tools are General Availability (GA), however they're being released with the installer package for SQL Server 2019 (15.x)SQL Server 2019 (15.x).

Informations sur la versionVersion Information

Numéro de version : 15.0Release number: 15.0
Numéro de build : 15.0.1300.359Build number: 15.0.1300.359
Date de publication : 13 mars 2019Release date: March 13, 2019

La nouvelle version de SQLCMD prend en charge l’authentification Azure AD, y compris la prise en charge de la MFA pour les fonctionnalités SQL Database, SQL Data Warehouse et Always Encrypted.The new version of SQLCMD supports Azure AD authentication, including Multi-Factor Authentication (MFA) support for SQL Database, SQL Data Warehouse, and Always Encrypted features. Le nouveau BCP prend en charge l’authentification Azure AD, y compris la prise en charge de la MFA pour SQL Database et SQL Data Warehouse.The new BCP supports Azure AD authentication, including Multi-Factor Authentication (MFA) support for SQL Database and SQL Data Warehouse.

Configuration requiseSystem Requirements

Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019

Ce composant nécessite Windows Installer 4.5 et Microsoft ODBC Driver 17 for SQL Server.This component requires both Windows Installer 4.5 and Microsoft ODBC Driver 17 for SQL Server.

Pour vérifier la version de BCP, exécutez la commande bcp /v et vérifiez que 15.0.1300.359 ou une version ultérieure est en cours d’utilisation.To check the BCP version execute bcp /v command and confirm that 15.0.1300.359 or higher is in use.

SyntaxeSyntax
bcp [database_name.] schema.{table_name | view_name | "query"}
    {in data_file | out data_file | queryout data_file | format nul}
                                                                                                         
    [-a packet_size]
    [-b batch_size]
    [-c]
    [-C { ACP | OEM | RAW | code_page } ]
    [-d database_name]
    [-D]
    [-e err_file]
    [-E]
    [-f format_file]
    [-F first_row]
    [-G Azure Active Directory Authentication]
    [-h"hint [,...n]"]
    [-i input_file]
    [-k]
    [-K application_intent]
    [-l login_timeout]
    [-L last_row]
    [-m max_errors]
    [-n]
    [-N]
    [-o output_file]
    [-P password]
    [-q]
    [-r row_term]
    [-R]
    [-S [server_name[\instance_name]]
    [-t field_term]
    [-T]
    [-U login_id]
    [-v]
    [-V (80 | 90 | 100 | 110 | 120 | 130 ) ]
    [-w]
    [-x]

ArgumentsArguments

data_filedata_file
Chemin d'accès complet du fichier de données.Is the full path of the data file. Lors de l'importation en bloc de données vers SQL ServerSQL Server, le fichier de données contient les données à copier dans la table ou vue spécifiée.When data is bulk imported into SQL ServerSQL Server, the data file contains the data to be copied into the specified table or view. Lors de l'exportation en bloc de données à partir de SQL ServerSQL Server, le fichier de données contient les données provenant de la table ou vue.When data is bulk exported from SQL ServerSQL Server, the data file contains the data copied from the table or view. Le chemin d'accès peut compter entre 1 et 255 caractères.The path can have from 1 through 255 characters. Le fichier de données peut contenir jusqu’à 2^63 - 1 lignes.The data file can contain a maximum of 2^63 - 1 rows.

database_namedatabase_name
Nom de la base de données qui contient la table ou la vue spécifiée.Is the name of the database in which the specified table or view resides. Sans autre indication, il s'agit de la base de données par défaut de l'utilisateur.If not specified, this is the default database for the user.

Vous pouvez aussi spécifier explicitement le nom de la base de données avec -d.You can also explicitly specify the database name with -d.

in data_file | out data_file | queryout data_file | format nulin data_file | out data_file | queryout data_file | format nul
Direction de la copie en bloc :Specifies the direction of the bulk copy, as follows:

  • in copie à partir d’un fichier dans une table ou une vue de la base de données.in copies from a file into the database table or view.

  • out copie dans un fichier à partir d’une table ou d’une vue de la base de données.out copies from the database table or view to a file. Si vous spécifiez un fichier existant, il est remplacé.If you specify an existing file, the file is overwritten. Lors de l’extraction des données, l’utilitaire bcp représente une chaîne vide comme une chaîne Null, et une chaîne Null comme une chaîne vide.When extracting data, the bcp utility represents an empty string as a null and a null string as an empty string.

  • queryout copie à partir d’une requête et doit être spécifié uniquement lors d’une copie de données en bloc à partir d’une requête.queryout copies from a query and must be specified only when bulk copying data from a query.

  • format crée un fichier de format basé sur l’option spécifiée ( -n, -c, -wou -N) et les délimiteurs de table ou de vue.format creates a format file based on the option specified (-n, -c, -w, or -N) and the table or view delimiters. Lors de la copie en bloc de données, la commande bcp peut faire référence à un fichier de format, ce qui évite d’avoir à ressaisir les informations de format de manière interactive.When bulk copying data, the bcp command can refer to a format file, which saves you from reentering format information interactively. L’option format nécessite l’option -f ; la création d’un fichier de format XML nécessite aussi l’option -x .The format option requires the -f option; creating an XML format file, also requires the -x option. Pour plus d’informations, consultez Créer un fichier de format (SQL Server).For more information, see Create a Format File (SQL Server). Vous devez spécifier nul comme valeur (format nul).You must specify nul as the value (format nul).

ownerowner
Nom du propriétaire de la table ou de la vue.Is the name of the owner of the table or view. owner est facultatif si l'utilisateur qui effectue l'opération est le propriétaire de la table ou de la vue.owner is optional if the user performing the operation owns the specified table or view. Si la valeur de owner n’est pas spécifiée et si l’utilisateur effectuant l’opération ne possède pas la table ou la vue spécifiée, SQL ServerSQL Server retourne un message d’erreur et l’opération est annulée.If owner is not specified and the user performing the operation does not own the specified table or view, SQL ServerSQL Server returns an error message, and the operation is canceled.

" query " est une requête Transact-SQLTransact-SQL qui retourne un jeu de résultats." query " Is a Transact-SQLTransact-SQL query that returns a result set. Si la requête retourne plusieurs jeux de résultats, seul le premier jeu de résultats est copié dans le fichier de données ; les jeux de résultats suivants sont ignorés.If the query returns multiple result sets, only the first result set is copied to the data file; subsequent result sets are ignored. Placez le nom de la requête entre guillemets doubles et tout élément imbriqué dans la requête entre guillemets simples.Use double quotation marks around the query and single quotation marks around anything embedded in the query. queryout doit également être spécifié uniquement lors d’une copie de données en bloc à partir d’une requête.queryout must also be specified when bulk copying data from a query.

La requête peut référencer une procédure stockée du moment que toutes les tables référencées dans la procédure stockée existent préalablement à l'exécution de l'instruction bcp.The query can reference a stored procedure as long as all tables referenced inside the stored procedure exist prior to executing the bcp statement. Par exemple, si la procédure stockée génère une table temp, l’instruction bcp échoue parce que la table temp est uniquement disponible au moment de l’exécution du programme et pas au moment de l’exécution de l’instruction.For example, if the stored procedure generates a temp table, the bcp statement fails because the temp table is available only at run time and not at statement execution time. Dans ce cas, envisagez d’insérer les résultats de la procédure stockée dans une table, puis d’utiliser bcp pour copier les données de la table dans un fichier de données.In this case, consider inserting the results of the stored procedure into a table and then use bcp to copy the data from the table into a data file.

table_nametable_name
Nom de la table de destination lors de l’importation de données dans SQL ServerSQL Server (in) ou nom de la table source lors de l’exportation de données à partir de SQL ServerSQL Server (out).Is the name of the destination table when importing data into SQL ServerSQL Server (in), and the source table when exporting data from SQL ServerSQL Server (out).

view_name view_name
Nom de la vue de destination lors de la copie de données vers SQL ServerSQL Server (in) ou nom de la vue source lors de la copie de données à partir de SQL ServerSQL Server (out).Is the name of the destination view when copying data into SQL ServerSQL Server (in), and the source view when copying data from SQL ServerSQL Server (out). Seules les vues dont toutes les colonnes référencent la même table peuvent être utilisées comme vues de destination.Only views in which all columns refer to the same table can be used as destination views. Pour plus d’informations sur les restrictions relatives à la copie des données dans les vues, consultez INSERT (Transact-SQL).For more information on the restrictions for copying data into views, see INSERT (Transact-SQL).

-a packet_size-a packet_size
Spécifie le nombre d’octets, par paquet réseau, envoyés depuis/vers le serveur.Specifies the number of bytes, per network packet, sent to and from the server. Vous pouvez définir une option de configuration du serveur au moyen de SQL Server Management StudioSQL Server Management Studio (ou de la procédure stockée système sp_configure ).A server configuration option can be set by using SQL Server Management StudioSQL Server Management Studio (or the sp_configure system stored procedure). Toutefois, la configuration du serveur peut être modifiée individuellement à l'aide de cette option.However, the server configuration option can be overridden on an individual basis by using this option. packet_size peut être compris entre 4 096 octets et 65 535 octets. Sa valeur par défaut est 4 096.packet_size can be from 4096 bytes to 65535 bytes; the default is 4096.

L'augmentation de la taille des paquets peut améliorer les performances des opérations de copie en bloc.Increased packet size can enhance performance of bulk-copy operations. S'il est demandé une taille de paquet plus importante alors que cela n'est pas possible, la valeur par défaut est utilisée.If a larger packet is requested but cannot be granted, the default is used. Les statistiques de performance générées par bcp indiquent la taille de paquet utilisée.The performance statistics generated by the bcp utility show the packet size used.

-b batch_size-b batch_size
Nombre de lignes par lot de données importées.Specifies the number of rows per batch of imported data. Chaque lot est importé et consigné dans un journal comme transaction distincte important le lot complet avant d'être validée.Each batch is imported and logged as a separate transaction that imports the whole batch before being committed. Par défaut, toutes les lignes du fichier de données sont importées comme un lot.By default, all the rows in the data file are imported as one batch. Pour distribuer les lignes entre les différents lots, spécifiez une valeur de batch_size inférieure au nombre de lignes du fichier de données.To distribute the rows among multiple batches, specify a batch_size that is smaller than the number of rows in the data file. Si la transaction d'un lot échoue, seules les insertions du lot actif sont restaurées.If the transaction for any batch fails, only insertions from the current batch are rolled back. Les lots dont l'importation a été effectuée par des transactions validées ne sont pas affectés par une défaillance ultérieure.Batches already imported by committed transactions are unaffected by a later failure.

N’utilisez pas cette option avec l’option -h " ROWS_PER_BATCH = bb " .Do not use this option in conjunction with the -h " ROWS_PER_BATCH =bb" option.

-c-c
Effectue l'opération en utilisant un type de données caractères.Performs the operation using a character data type. Cette option n’affiche aucune invite pour aucun champ, mais utilise le type de données char comme type de stockage, n’ajoute pas de préfixe et emploie \t (tabulation) comme séparateur de champ et \r\n (nouvelle ligne) comme indicateur de fin de ligne.This option does not prompt for each field; it uses char as the storage type, without prefixes and with \t (tab character) as the field separator and \r\n (newline character) as the row terminator. -c n’est pas compatible avec -w.-c is not compatible with -w.

Pour plus d’informations, consultez Utiliser le format caractère pour importer ou exporter des données (SQL Server).For more information, see Use Character Format to Import or Export Data (SQL Server).

-C { ACP | OEM | RAW | code_page } -C { ACP | OEM | RAW | code_page }
Indique la page de codes des données dans le fichier.Specifies the code page of the data in the data file. L’utilisation decode_page n’est justifiée que si les données contiennent des colonnes de type char, varcharou text dont les valeurs de caractères sont supérieures à 127 ou inférieures à 32.code_page is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

Notes

Nous recommandons de spécifier un nom de classement pour chaque colonne dans un fichier de format, sauf lorsque vous souhaitez que l’option 65001 soit prioritaire sur la spécification de page de codes/classementWe recommend specifying a collation name for each column in a format file, except when you want the 65001 option to have priority over the collation/code page specification.

Valeur de la page de codesCode page value DescriptionDescription
ACPACP ANSIANSI/Microsoft Windows (ISO 1252)./Microsoft Windows (ISO 1252).
OEMOEM Page de codes par défaut du client.Default code page used by the client. Il s’agit de la page de codes par défaut qui est utilisée si -C n’est pas spécifié.This is the default code page used if -C is not specified.
RAWRAW Aucune conversion d'une page de codes vers une autre n'a lieu.No conversion from one code page to another occurs. Il s'agit de l'option la plus rapide car aucune conversion n'a lieu.This is the fastest option because no conversion occurs.
code_pagecode_page Numéro spécifique de la page de codes, par exemple 850.Specific code page number; for example, 850.

Les versions antérieures à la version 13 (SQL Server 2016 (13.x)SQL Server 2016 (13.x)) ne prennent pas en charge la page de codes 65001 (encodage UTF-8).Versions prior to version 13 (SQL Server 2016 (13.x)SQL Server 2016 (13.x)) do not support code page 65001 (UTF-8 encoding). La version 13 et les versions ultérieures peuvent importer l’encodage UTF-8 pour les versions antérieures de SQL ServerSQL Server.Versions beginning with 13 can import UTF-8 encoding to earlier versions of SQL ServerSQL Server.

-d database_name -d database_name
Spécifie la base de données à laquelle se connecter.Specifies the database to connect to. Par défaut, bcp.exe se connecte à la base de données par défaut de l'utilisateur.By default, bcp.exe connects to the user's default database. Si -d database_name et un nom en trois parties (database_name.schema.table, passé comme premier paramètre à bcp.exe) sont spécifiés, une erreur se produit, car vous ne pouvez pas spécifier deux fois le nom de la base de données.If -d database_name and a three part name (database_name.schema.table, passed as the first parameter to bcp.exe) are specified, an error will occur because you cannot specify the database name twice. Si database_name commence par un trait d’union (-) ou une barre oblique (/), n’ajoutez pas d’espace entre -d et le nom de la base de données.If database_name begins with a hyphen (-) or a forward slash (/), do not add a space between -d and the database name.

-D-D
Fait en sorte que la valeur passée à l’option bcp -S soit interprétée comme un nom de source de données (DSN).Causes the value passed to the bcp -S option to be interpreted as a data source name (DSN). Pour plus d’informations, consultez Prise en charge du nom de source de données dans sqlcmd et bcp dans Connexion avec sqlcmd.For more information, see DSN Support in sqlcmd and bcp in Connecting with sqlcmd.

-e err_file-e err_file
Spécifie le chemin complet d’un fichier d’erreur utilisé pour stocker les lignes que l’utilitaire bcp ne peut pas transférer du fichier vers la base de données.Specifies the full path of an error file used to store any rows that the bcp utility cannot transfer from the file to the database. Les messages d’erreur de la commande bcp sont transmis à la station de travail de l’utilisateur.Error messages from the bcp command go to the workstation of the user. Si cette option est omise, aucun fichier d'erreur n'est créé.If this option is not used, an error file is not created.

Si err_file commence par un trait d’union (-) ou une barre oblique (/), n’incluez pas d’espace entre -e et la valeur err_file .If err_file begins with a hyphen (-) or a forward slash (/), do not include a space between -e and the err_file value.

-E-E

Indique que la ou les valeurs d'identité figurant dans le fichier de données importé doivent être utilisées dans la colonne d'identité.Specifies that identity value or values in the imported data file are to be used for the identity column. Si -E n’est pas spécifié, les valeurs d’identité de cette colonne figurant dans le fichier de données importé ne sont pas prises en compte et SQL ServerSQL Server attribue automatiquement des valeurs uniques, basées sur la valeur initiale et sur un incrément spécifié durant la création de la table.If -E is not given, the identity values for this column in the data file being imported are ignored, and SQL ServerSQL Server automatically assigns unique values based on the seed and increment values specified during table creation. Pour plus d’informations, consultez DBCC CHECKIDENT.For more information, see DBCC CHECKIDENT.

Si le fichier de données ne contient pas de valeurs pour la colonne d'identité de la table ou de la vue, utilisez un fichier de format pour spécifier que la colonne d'identité ne doit pas être prise en compte lors de l'importation des données ; auquel cas SQL ServerSQL Server attribue automatiquement des valeurs uniques à la colonne.If the data file does not contain values for the identity column in the table or view, use a format file to specify that the identity column in the table or view should be skipped when importing data; SQL ServerSQL Server automatically assigns unique values for the column.

L’option -E n’exige aucune autorisation spéciale.The -E option has a special permissions requirement. Pour plus d’informations, consultez la sectionNotes, plus loin dans cette rubrique.For more information, see "Remarks" later in this topic.

-f format_file-f format_file
Spécifie le chemin complet au fichier de format.Specifies the full path of a format file. La signification de cette option dépend de l'environnement d'utilisation :The meaning of this option depends on the environment in which it is used, as follows:

  • Si -f est utilisé avec l’option format , le fichier de format spécifié ( format_file ) est créé pour la table ou la vue spécifiée.If -f is used with the format option, the specified format_file is created for the specified table or view. Pour créer un fichier de format XML, spécifiez également l’option -x .To create an XML format file, also specify the -x option. Pour plus d’informations, consultez Créer un fichier de format (SQL Server).For more information, see Create a Format File (SQL Server).

  • Utilisé avec l’option in ou out , -f nécessite un fichier de format existant.If used with the in or out option, -f requires an existing format file.

    Notes

    L’utilisation d’un fichier de format avec l’option in ou out est facultative.Using a format file in with the in or out option is optional. En l’absence de l’option -f , si -n, -c, -wou -N n’est pas spécifiée, la commande vous invite à fournir des informations de format et vous permet d’enregistrer vos réponses dans un fichier de format (dont le nom de fichier par défaut est Bcp.fmt).In the absence of the -f option, if -n, -c, -w, or -N is not specified, the command prompts for format information and lets you save your responses in a format file (whose default file name is Bcp.fmt).

Si format_file commence par un trait d’union (-) ou une barre oblique (/), n’incluez pas d’espace entre -f et la valeur format_file .If format_file begins with a hyphen (-) or a forward slash (/), do not include a space between -f and the format_file value.

-F first_row-F first_row
Spécifie le numéro de la première ligne à exporter à partir d’une table ou à importer à partir d’un fichier de données.Specifies the number of the first row to export from a table or import from a data file. Ce paramètre nécessite une valeur supérieure à (>) 0 mais inférieure (<) ou égale au (=) nombre total de lignes.This parameter requires a value greater than (>) 0 but less than (<) or equal to (=) the total number rows. En l'absence de ce paramètre, la valeur par défaut est la première ligne du fichier.In the absence of this parameter, the default is the first row of the file.

first_row peut être un entier positif avec une valeur maximale de 2^63-1.first_row can be a positive integer with a value up to 2^63-1. -F first_row est basé sur 1.-F first_row is 1-based.

-G-G

Ce commutateur est utilisé par le client lors de la connexion à Azure SQL Database ou à Azure SQL Data Warehouse, pour indiquer que l’utilisateur doit être authentifié avec l’authentification Azure Active Directory.This switch is used by the client when connecting to Azure SQL Database or Azure SQL Data Warehouse to specify that the user be authenticated using Azure Active Directory authentication. Le commutateur -G nécessite la version 14.0.3008.27 ou ultérieure.The -G switch requires version 14.0.3008.27 or later. Pour déterminer votre version, exécutez bcp -v.To determine your version, execute bcp -v. Pour plus d’informations, consultez Utiliser l’authentification Azure Active Directory pour l’authentification auprès de SQL Database ou de SQL Data Warehouse.For more information, see Use Azure Active Directory Authentication for authentication with SQL Database or SQL Data Warehouse.

Important

L’option -G s’applique uniquement à Azure SQL Database et à Azure Data Warehouse.The -G option only applies to Azure SQL Database and Azure Data Warehouse. L’authentification intégrée et interactive AAD n’est actuellement pas prise en charge sur Linux ou macOS.AAD Integrated and Interactive Authentication is not currently supported on Linux or macOS.

Conseil

Pour vérifier si votre version de BCP comprend la prise en charge de type d’authentification Azure Active Directory (AAD), tapez BCP-- (BCP <space><dash><dash>) et vérifiez que -G apparait dans la liste des arguments disponibles.To check if your version of bcp includes support for Azure Active Directory Authentication (AAD) type bcp -- (bcp<space><dash><dash>) and verify that you see -G in the list of available arguments.

  • Nom d’utilisateur et mot de passe Azure Active Directory :Azure Active Directory Username and Password:

    Lorsque vous souhaitez utiliser un nom d’utilisateur Azure Active Directory et le mot de passe, vous pouvez fournir l’option - G et utiliser également le nom d’utilisateur et le mot de passe en fournissant les options -U et -P .When you want to use an Azure Active Directory user name and password, you can provide the -G option and also use the user name and password by providing the -U and -P options.

    L’exemple suivant exporte des données à l’aide du nom d’utilisateur et du mot de passe Azure AD, où user et password sont des informations d’identification AAD.The following example exports data using Azure AD Username and Password where user and password is an AAD credential. L’exemple exporte la table bcptest de la base de données testdb à partir d’Azure Server aadserver.database.windows.net et stocke les données dans le fichier c:\last\data1.dat :The example exports table bcptest from database testdb from Azure server aadserver.database.windows.net and stores the data in file c:\last\data1.dat:

    bcp bcptest out "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P xxxxx
    

    L’exemple suivant importe des données à l’aide du nom d’utilisateur et du mot de passe Azure AD, où user et password sont des informations d’identification AAD.The following example imports data using Azure AD Username and Password where user and password is an AAD credential. L’exemple importe des données à partir du fichier c:\last\data1.dat dans la table bcptest pour la base de données testdb sur le serveur Azure aadserver.database.windows.net à l’aide du nom d’utilisateur et du mot de passe Azure AD :The example imports data from file c:\last\data1.dat into table bcptest for database testdb on Azure server aadserver.database.windows.net using Azure AD User/Password:

    bcp bcptest in "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P xxxxx
    
  • Intégrée à Azure Active DirectoryAzure Active Directory Integrated

    Pour l’authentification intégrée à Azure Active Directory, spécifiez l’option -G sans nom d’utilisateur ni mot de passe.For Azure Active Directory Integrated authentication, provide the -G option without a user name or password. Cette configuration suppose que le compte d’utilisateur Windows actuel (le compte sous lequel s’exécute la commande bcp) est fédéré avec Azure AD :This configuration assumes that the current Windows user account (the account the bcp command is running under) is federated with Azure AD:

    L’exemple suivant exporte des données à l’aide d’un compte intégré à Azure AD.The following example exports data using Azure AD-Integrated account. L’exemple exporte la table bcptest de la base de données testdb avec Azure AD Integrated à partir d’Azure Server aadserver.database.windows.net et stocke les données dans le fichier c:\last\data2.dat :The example exports table bcptest from database testdb using Azure AD Integrated from Azure server aadserver.database.windows.net and stores the data in file c:\last\data2.dat:

    bcp bcptest out "c:\last\data2.dat" -S aadserver.database.windows.net -d testdb -G -c -t
    

    L’exemple suivant importe des données à l’aide de l’authentification Azure AD Integrated. L’exemple importe des données à partir du fichier c:\last\data2.txt dans la table bcptest pour la base de données testdb sur le serveur Azure aadserver.database.windows.net à l’aide de l’authentification Azure AD Integrated :The following example imports data using Azure AD-Integrated auth. The example imports data from file c:\last\data2.txt into table bcptest for database testdb on Azure server aadserver.database.windows.net using Azure AD Integrated auth:

    bcp bcptest in "c:\last\data2.dat" -S aadserver.database.windows.net -d testdb -G -c -t
    
  • Azure Active Directory InteractiveAzure Active Directory Interactive

    L’authentification interactive Azure AD pour Azure SQL Database et SQL Data Warehouse vous permet d’utiliser une méthode interactive qui prend en charge l’authentification multifacteur.The Azure AD Interactive authentication for Azure SQL Database and SQL Data Warehouse, allows you to use an interactive method supporting multi-factor authentication. Pour plus d’informations, consultez Authentification interactive Active Directory.For more information, see Active Directory Interactive Authentication.

    L’authentification Azure AD interactive requiert bcp version 15.0.1000.34 ou version ultérieure, ainsi que ODBC version 17.2 ou ultérieure.Azure AD interactive requires bcp version 15.0.1000.34 or later as well as ODBC version 17.2 or later.

    Pour activer l’authentification interactive, fournissez l’option -G avec le nom d’utilisateur (-U) uniquement, sans mot de passe.To enable interactive authentication, provide -G option with user name (-U) only, without a password.

    L’exemple suivant exporte des données à l’aide du mode interactif Azure AD indiquant le nom d’utilisateur où l’utilisateur représente un compte AAD.The following example exports data using Azure AD interactive mode indicating username where user represents an AAD account. C’est le même exemple que celui utilisé dans la section précédente : Nom d’utilisateur et mot de passe Azure Active Directory.This is the same example used in the previous section: Azure Active Directory Username and Password.

    Le mode interactif nécessite que vous entriez un mot de passe manuellement ou, pour les comptes sur lesquels l’authentification multifacteur est activée, effectuez votre méthode d’authentification MFA configurée.Interactive mode requires a password to be manually entered, or for accounts with multi-factor authentication enabled, complete your configured MFA authentication method.

    bcp bcptest out "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com
    

    Si un utilisateur Azure AD est un domaine fédéré avec un compte Windows, le nom d’utilisateur requis sur la ligne de commande contient son compte de domaine (par exemple, joe@contoso.com voir ci-dessous) :In case an Azure AD user is a domain federated one using Windows account, the user name required in the command line, contains its domain account (for example, joe@contoso.com see below):

    bcp bcptest out "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U joe@contoso.com
    

    Si des utilisateurs invités existent dans un Azure AD spécifique et font partie d’un groupe qui existe dans la base de données SQL et qui dispose d’autorisations de base de données pour exécuter la commande bcp, leur alias d’utilisateur invité est utilisé (par exemple, *keith0@adventureworks.com* ).If guest users exist in a specific Azure AD and are part of a group that exists in SQL DB that has database permissions to execute the bcp command, their guest user alias is used (for example, *keith0@adventureworks.com*).

-h "load hints[ ,... n] " Spécifie le ou les indicateurs à utiliser lors de l’importation en bloc de données vers une table ou une vue.-h "load hints[ ,... n]" Specifies the hint or hints to be used during a bulk import of data into a table or view.

  • ORDER(colonne[ASC | DESC] [ , ...n])ORDER(column[ASC | DESC] [,...n])
    Ordre de tri des données dans le fichier de données.The sort order of the data in the data file. Les performances de l'importation en bloc sont améliorées si les données importées sont triées en fonction de l'index cluster de la table, le cas échéant.Bulk import performance is improved if the data being imported is sorted according to the clustered index on the table, if any. Si le fichier de données est trié dans un ordre différent, c'est-à-dire dans un ordre autre que celui d'une clé d'index cluster, ou s'il n'existe pas d'index cluster dans la table, l'option ORDER est ignorée.If the data file is sorted in a different order, that is other than the order of a clustered index key, or if there is no clustered index on the table, the ORDER clause is ignored. Les noms de colonnes fournis doivent être des noms de colonnes valides dans la table de destination.The column names supplied must be valid column names in the destination table. Par défaut, bcp considère que le fichier de données n’est pas ordonné.By default, bcp assumes the data file is unordered. Pour une importation en bloc optimisée, SQL ServerSQL Server valide également le fait que les données importées sont triées.For optimized bulk import, SQL ServerSQL Server also validates that the imported data is sorted.

  • ROWS_PER_BATCH = bbROWS_PER_BATCH = bb
    Nombre de lignes de données par lot ( bb).Number of rows of data per batch (as bb). Utilisée quand -b n’est pas spécifié, cette option provoque l’envoi au serveur de la totalité du fichier de données au cours d’une transaction unique.Used when -b is not specified, resulting in the entire data file being sent to the server as a single transaction. Le serveur optimise le chargement en bloc en fonction de la valeur de bb.The server optimizes the bulkload according to the value bb. Par défaut, ROWS_PER_BATCH est inconnu.By default, ROWS_PER_BATCH is unknown.

  • KILOBYTES_PER_BATCH = ccKILOBYTES_PER_BATCH = cc
    Nombre approximatif de kilo-octets (Ko) de données par lot ( cc).Approximate number of kilobytes of data per batch (as cc). Par défaut, KILOBYTES_PER_BATCH est inconnu.By default, KILOBYTES_PER_BATCH is unknown.

  • TABLOCKTABLOCK
    Spécifie qu’un verrou de niveau table d’une mise à jour en bloc est obtenu pour la durée de l’opération de chargement en bloc ; sinon, un verrou de niveau ligne est obtenu.Specifies that a bulk update table-level lock is acquired for the duration of the bulkload operation; otherwise, a row-level lock is acquired. Cette option augmente sensiblement les performances car le maintien d'un verrou pour la durée de la seule opération de copie réduit la contention de verrouillage de la table.This hint significantly improves performance because holding a lock for the duration of the bulk-copy operation reduces lock contention on the table. Une table peut être chargée simultanément par plusieurs clients à condition qu’elle ne comporte pas d’index et que TABLOCK soit spécifié.A table can be loaded concurrently by multiple clients if the table has no indexes and TABLOCK is specified. Par défaut, le comportement de verrouillage est déterminé par l’option de table table lock on bulkload.By default, locking behavior is determined by the table option table lock on bulkload.

    Notes

    Si la table cible est un index cluster columnstore, l’indicateur TABLOCK n’est pas requis pour le chargement par plusieurs clients simultanés, car chaque thread simultané a reçu un rowgroup distinct au sein de l’index et y charge les données.If the target table is clustered columnstore index, TABLOCK hint is not required for loading by multiple concurrent clients because each concurrent thread is assigned a separate rowgroup within the index and loads data into it. Pour plus d’informations, reportez-vous aux rubriques sur les concepts de l’index columnstore.Please refer to columnstore index conceptual topics for details,

    CHECK_CONSTRAINTSCHECK_CONSTRAINTS
    Spécifie que toutes les contraintes sur la table ou vue cible doivent être vérifiées pendant l'opération d'importation en bloc.Specifies that all constraints on the target table or view must be checked during the bulk-import operation. Sans l’option CHECK_CONSTRAINTS, les contraintes CHECK et FOREIGN KEY sont ignorées. Après l’opération, les contraintes sur la table sont marquées comme non approuvées.Without the CHECK_CONSTRAINTS hint, any CHECK, and FOREIGN KEY constraints are ignored, and after the operation the constraint on the table is marked as not-trusted.

    Notes

    Les contraintes UNIQUE, PRIMARY KEY et NOT NULL sont toujours appliquées.UNIQUE, PRIMARY KEY, and NOT NULL constraints are always enforced.

    À un point donné, vous devez vérifier les contraintes sur toute la table.At some point, you will need to check the constraints on the entire table. Si la table n'était pas vide avant l'opération d'importation en bloc, le coût de la revalidation de la contrainte peut dépasser celui de l'application des contraintes CHECK aux données incrémentielles.If the table was nonempty before the bulk import operation, the cost of revalidating the constraint may exceed the cost of applying CHECK constraints to the incremental data. Par conséquent, nous vous recommandons d'activer le contrôle de contrainte pendant une importation en bloc incrémentielle.Therefore, we recommend that normally you enable constraint checking during an incremental bulk import.

    Il peut notamment convenir de désactiver les contraintes (comportement par défaut) si les données d'entrée contiennent des lignes qui violent des contraintes.A situation in which you might want constraints disabled (the default behavior) is if the input data contains rows that violate constraints. Lorsque les contraintes CHECK sont désactivées, vous pouvez importer les données et utiliser ensuite des instructions Transact-SQLTransact-SQL pour supprimer les données non valides.With CHECK constraints disabled, you can import the data and then use Transact-SQLTransact-SQL statements to remove data that is not valid.

    Notes

    bcp applique désormais une validation des données et des contrôles de données qui peuvent entraîner l’échec de scripts existants si ceux-ci sont exécutés sur des données non valides dans un fichier de données.bcp now enforces data validation and data checks that might cause scripts to fail if they're executed on invalid data in a data file.

    Notes

    Le commutateur -m max_errors n’applique pas le contrôle de contrainte.The -m max_errors switch does not apply to constraint checking.

  • FIRE_TRIGGERSFIRE_TRIGGERS
    Spécifié avec l’argument in , n’importe quel déclencheur d’insertion sur la table de destination s’exécute pendant l’opération de copie en bloc.Specified with the in argument, any insert triggers defined on the destination table will run during the bulk-copy operation. Si FIRE_TRIGGERS n'est pas spécifié, aucun déclencheur d'insertion ne s'exécute.If FIRE_TRIGGERS is not specified, no insert triggers will run. FIRE_TRIGGERS est ignoré pour les arguments out, queryoutet format .FIRE_TRIGGERS is ignored for the out, queryout, and format arguments.

-i input_file-i input_file
Spécifie le nom d’un fichier réponse contenant les réponses aux questions d’invite de commandes pour chaque champ de données quand une copie en bloc est effectuée en mode interactif ( -n, -c, -wou -N non spécifié).Specifies the name of a response file, containing the responses to the command prompt questions for each data field when a bulk copy is being performed using interactive mode (-n, -c, -w, or -N not specified).

Si input_file commence par un trait d’union (-) ou une barre oblique (/), n’incluez pas d’espace entre -i et la valeur input_file .If input_file begins with a hyphen (-) or a forward slash (/), do not include a space between -i and the input_file value.

-k-k
Pendant l’opération, les colonnes vides doivent conserver une valeur NULL et les colonnes insérées ne doivent pas prendre de valeur par défaut.Specifies that empty columns should retain a null value during the operation, rather than have any default values for the columns inserted. Pour plus d’informations, consultez Conserver les valeurs NULL ou utiliser la valeur par défaut lors de l’importation en bloc (SQL Server).For more information, see Keep Nulls or Use Default Values During Bulk Import (SQL Server).

-K application_intent -K application_intent
Déclare le type de la charge de travail de l'application lors de la connexion à un serveur.Declares the application workload type when connecting to a server. La seule valeur possible est ReadOnly(lecture seule).The only value that is possible is ReadOnly. Si -K n’est pas spécifié, l’utilitaire bcp ne prend pas en charge la connectivité à un réplica secondaire dans un groupe de disponibilité Always On.If -K is not specified, the bcp utility will not support connectivity to a secondary replica in an Always On availability group. Pour plus d’informations, consultez Secondaires actifs : Réplicas secondaires accessibles en lecture (groupes de disponibilité AlwaysOn).For more information, see Active Secondaries: Readable Secondary Replicas (Always On Availability Groups).

-l login_timeout-l login_timeout
Spécifie un délai de connexion.Specifies a login timeout. L’option -l spécifie le nombre de secondes au terme duquel une connexion de SQL Server expire quand vous tentez de vous connecter à un serveur.The -l option specifies the number of seconds before a login to SQL Server times out when you try to connect to a server. Par défaut, le délai d'expiration de la connexion est de 15 secondes.The default login timeout is 15 seconds. Le délai de connexion doit être un nombre compris entre 0 et 65534.The login timeout must be a number between 0 and 65534. Si la valeur fournie n’est pas numérique ou n’est pas comprise dans cette plage, bcp génère un message d’erreur.If the value supplied is not numeric or does not fall into that range, bcp generates an error message. Une valeur 0 spécifie un délai d’expiration infini.A value of 0 specifies an infinite timeout.

-L last_row-L last_row
Spécifie le numéro de la dernière ligne à exporter à partir d’une table ou à importer à partir d’un fichier de données.Specifies the number of the last row to export from a table or import from a data file. Ce paramètre nécessite une valeur supérieure à (>) 0 mais inférieure (<) ou égale au (=) numéro de la dernière ligne.This parameter requires a value greater than (>) 0 but less than (<) or equal to (=) the number of the last row. En l'absence de ce paramètre, la valeur par défaut est la dernière ligne du fichier.In the absence of this parameter, the default is the last row of the file.

last_row peut être un entier positif avec une valeur maximale de 2^63-1.last_row can be a positive integer with a value up to 2^63-1.

-m max_errors-m max_errors
Spécifie le nombre maximal d’erreurs de syntaxe toléré avant l’annulation de l’opération bcp .Specifies the maximum number of syntax errors that can occur before the bcp operation is canceled. Une erreur de syntaxe implique une erreur de conversion de données vers le type de données cible.A syntax error implies a data conversion error to the target data type. Le total max_errors exclut les erreurs pouvant être détectées uniquement sur le serveur, telles que des violations de contrainte.The max_errors total excludes any errors that can be detected only at the server, such as constraint violations.

Une ligne ne pouvant pas être copiée par l’utilitaire bcp est ignorée et est comptabilisée comme une erreur.A row that cannot be copied by the bcp utility is ignored and is counted as one error. Si cette option est omise, sa valeur par défaut est 10.If this option is not included, the default is 10.

Notes

L’option -m ne s’applique pas non plus à la conversion des types de données money ou bigint .The -m option also does not apply to converting the money or bigint data types.

-n-n
Effectue la copie en bloc en faisant appel aux types de données par défaut des données (ceux de la base de données).Performs the bulk-copy operation using the native (database) data types of the data. Cette option n'affiche aucune invite pour aucun champ, mais utilise les valeurs par défaut.This option does not prompt for each field; it uses the native values.

Pour plus d’informations, consultez Utiliser le format natif Unicode pour importer ou exporter des données (SQL Server).For more information, see Use Native Format to Import or Export Data (SQL Server).

-N-N
Copie en bloc en faisant appel aux types de données natifs (base de données) des données non caractères, ainsi qu'au type Unicode pour les données caractères.Performs the bulk-copy operation using the native (database) data types of the data for noncharacter data, and Unicode characters for character data. Cette option, qui remplace avantageusement -w , sert à transférer des données d’une instance de SQL ServerSQL Server vers une autre à l’aide d’un fichier de données.This option offers a higher performance alternative to the -w option, and is intended for transferring data from one instance of SQL ServerSQL Server to another using a data file. Elle n'affiche aucune invite pour aucun champ.It does not prompt for each field. Utilisez-la pour transférer des données comportant des caractères ANSI étendus et conserver tous les avantages des performances du mode natif.Use this option when you are transferring data that contains ANSI extended characters and you want to take advantage of the performance of native mode.

Pour plus d’informations, consultez Utiliser le format natif Unicode pour importer ou exporter des données (SQL Server).For more information, see Use Unicode Native Format to Import or Export Data (SQL Server).

Si vous exportez puis importez des données dans le même schéma de la table à l’aide de bcp.exe avec -N, un avertissement de troncation peut s’afficher s’il existe une colonne de type caractère non Unicode, d’une longueur fixe (par exemple, char(10) ).If you export and then import data to the same table schema by using bcp.exe with -N, you might see a truncation warning if there is a fixed length, non-Unicode character column (for example, char(10)).

Vous pouvez ignorer cet avertissement.The warning can be ignored. Une façon de résoudre cet avertissement consiste à utiliser -n au lieu de -N.One way to resolve this warning is to use -n instead of -N.

-o output_file-o output_file
Spécifie le nom d’un fichier recevant la sortie redirigée à partir de l’invite de commandes.Specifies the name of a file that receives output redirected from the command prompt.

Si output_file commence par un trait d’union (-) ou une barre oblique (/), n’incluez pas d’espace entre -o et la valeur output_file .If output_file begins with a hyphen (-) or a forward slash (/), do not include a space between -o and the output_file value.

-P password-P password
Spécifie le mot de passe de l’ID de connexion.Specifies the password for the login ID. Si cette option n’est pas utilisée, la commande bcp invite à entrer un mot de passe.If this option is not used, the bcp command prompts for a password. Si vous utilisez cette option à la fin de l’invite de commandes sans spécifier de mot de passe, bcp emploie le mot de passe par défaut (NULL).If this option is used at the end of the command prompt without a password, bcp uses the default password (NULL).

Important

N'utilisez pas de mot de passe vide.Do not use a blank password. Utilisez un mot de passe fort.Use a strong password.

Pour masquer votre mot de passe, ne spécifiez pas l’option -P avec l’option -U .To mask your password, do not specify the -P option along with the -U option. À la place, après avoir spécifié bcp avec l’option -U et d’autres commutateurs (ne spécifiez pas -P), appuyez sur Entrée ; la commande vous demande alors d’entrer un mot de passe.Instead, after specifying bcp along with the -U option and other switches (do not specify -P), press ENTER, and the command will prompt you for a password. Cette méthode garantit le masquage de votre mot de passe lors de son entrée.This method ensures that your password will be masked when it is entered.

Si password commence par un trait d’union (-) ou une barre oblique (/), n’ajoutez pas d’espace entre -P et la valeur password .If password begins with a hyphen (-) or a forward slash (/), do not add a space between -P and the password value.

-q-q
Exécute l’instruction SET QUOTED_IDENTIFIERS ON dans la connexion entre l’utilitaire bcp et une instance de SQL ServerSQL Server.Executes the SET QUOTED_IDENTIFIERS ON statement in the connection between the bcp utility and an instance of SQL ServerSQL Server. Utilisez cette option pour spécifier un nom de base de données, de propriétaire, de table ou de vue contenant un espace ou un guillemet simple.Use this option to specify a database, owner, table, or view name that contains a space or a single quotation mark. Mettez entre guillemets doubles (" ") les trois parties du nom de la table ou de la vue.Enclose the entire three-part table or view name in quotation marks ("").

Pour spécifier un nom de base de données comportant un espace ou un guillemet simple, vous devez utiliser l’option -q .To specify a database name that contains a space or single quotation mark, you must use the -q option.

-q ne s’applique pas aux valeurs transmises à -d.-q does not apply to values passed to -d.

Pour plus d’informations, consultez la section Notes, plus loin dans cette rubrique.For more information, see Remarks, later in this topic.

-r row_term-r row_term
Spécifie l’indicateur de fin de ligne.Specifies the row terminator. Par défaut, il s’agit du caractère de saut de ligne ( \n ).The default is \n (newline character). Utilisez ce paramètre pour remplacer l'indicateur de fin de ligne par défaut.Use this parameter to override the default row terminator. Pour plus d’informations, consultez Spécifier des indicateurs de fin de champ et de fin de ligne (SQL Server).For more information, see Specify Field and Row Terminators (SQL Server).

Si vous spécifiez l'indicateur de fin de ligne en notation hexadécimale dans une commande bcp.exe, la valeur sera tronquée à 0x00.If you specify the row terminator in hexadecimal notation in a bcp.exe command, the value will be truncated at 0x00. Par exemple, si vous spécifiez 0x410041, 0x41 sera utilisé.For example, if you specify 0x410041, 0x41 will be used.

Si row_term commence par un trait d’union (-) ou une barre oblique (/), n’incluez pas d’espace entre -r et la valeur row_term .If row_term begins with a hyphen (-) or a forward slash (/), do not include a space between -r and the row_term value.

-R-R
Spécifie que les données de type devise, date et heure sont copiées en bloc dans SQL ServerSQL Server en utilisant le format régional défini par les paramètres régionaux de l'ordinateur client.Specifies that currency, date, and time data is bulk copied into SQL ServerSQL Server using the regional format defined for the locale setting of the client computer. Par défaut, les paramètres régionaux sont ignorés.By default, regional settings are ignored.

-S server_name [\instance_name] Spécifie l’instance de SQL ServerSQL Server avec laquelle la connexion sera établie.-S server_name [\instance_name] Specifies the instance of SQL ServerSQL Server to which to connect. Si aucun serveur n’est spécifié, l’utilitaire bcp se connecte à l’instance par défaut de SQL ServerSQL Server sur l’ordinateur local.If no server is specified, the bcp utility connects to the default instance of SQL ServerSQL Server on the local computer. Cette option est requise lorsqu’une commande bcp est exécutée depuis un ordinateur distant sur le réseau ou sur une instance nommée locale.This option is required when a bcp command is run from a remote computer on the network or a local named instance. Pour se connecter à l’instance par défaut de SQL ServerSQL Server sur un serveur, spécifiez uniquement server_name.To connect to the default instance of SQL ServerSQL Server on a server, specify only server_name. Pour vous connecter à une instance nommée de SQL ServerSQL Server, spécifiez server_name \ instance_name.To connect to a named instance of SQL ServerSQL Server, specify server_name\instance_name.

-t field_term-t field_term
Spécifie l’indicateur de fin de champ.Specifies the field terminator. Par défaut, il s’agit du caractère de tabulation ( \t ).The default is \t (tab character). Utilisez ce paramètre pour remplacer l'indicateur de fin de champ par défaut.Use this parameter to override the default field terminator. Pour plus d’informations, consultez Spécifier des indicateurs de fin de champ et de fin de ligne (SQL Server).For more information, see Specify Field and Row Terminators (SQL Server).

Si vous spécifiez l'indicateur de fin de champ en notation hexadécimale dans une commande bcp.exe, la valeur sera tronquée à 0x00.If you specify the field terminator in hexadecimal notation in a bcp.exe command, the value will be truncated at 0x00. Par exemple, si vous spécifiez 0x410041, 0x41 sera utilisé.For example, if you specify 0x410041, 0x41 will be used.

Si field_term commence par un trait d’union (-) ou une barre oblique (/), n’incluez pas d’espace entre -t et la valeur field_term .If field_term begins with a hyphen (-) or a forward slash (/), do not include a space between -t and the field_term value.

-T-T
Spécifie que l'utilitaire bcp se connecte à SQL ServerSQL Server avec une connexion approuvée qui utilise la sécurité intégrée.Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. Les informations d’identification de sécurité de l’utilisateur réseau, login_idet password , ne sont pas requises.The security credentials of the network user, login_id, and password are not required. Si -T n’est pas spécifié, vous devez indiquer -U et -P pour vous connecter.If -T is not specified, you need to specify -U and -P to successfully log in.

Important

Quand l’utilitaire bcp se connecte à SQL ServerSQL Server via une connexion approuvée utilisant la sécurité intégrée, utilisez l’option -T (connexion approuvée) à la place de la combinaison user name et password .When the bcp utility is connecting to SQL ServerSQL Server with a trusted connection using integrated security, use the -T option (trusted connection) instead of the user name and password combination. Lorsque l’utilitaire bcp se connecte à la base de données SQL ou à SQL Data Warehouse à l’aide de l’authentification Windows, ou lorsque l’authentification Azure Active Directory n’est pas prise en charge.When the bcp utility is connecting to SQL Database or SQL Data Warehouse, using Windows authentication or Azure Active Directory authentication is not supported. Utilisez les options -U et -P .Use the -U and -P options.

-U login_id-U login_id
Spécifie l'ID de connexion utilisé pour une connexion à SQL ServerSQL Server.Specifies the login ID used to connect to SQL ServerSQL Server.

Important

Quand l’utilitaire bcp se connecte à SQL ServerSQL Server via une connexion approuvée utilisant la sécurité intégrée, utilisez l’option -T (connexion approuvée) à la place de la combinaison user name et password .When the bcp utility is connecting to SQL ServerSQL Server with a trusted connection using integrated security, use the -T option (trusted connection) instead of the user name and password combination. Lorsque l’utilitaire bcp se connecte à la base de données SQL ou à SQL Data Warehouse à l’aide de l’authentification Windows, ou lorsque l’authentification Azure Active Directory n’est pas prise en charge.When the bcp utility is connecting to SQL Database or SQL Data Warehouse, using Windows authentication or Azure Active Directory authentication is not supported. Utilisez les options -U et -P .Use the -U and -P options.

-v-v
Indique le numéro de version et le copyright de l’utilitaire bcp .Reports the bcp utility version number and copyright.

-V (80 | 90 | 100 | 110 | 120 | **130)-V (80 | 90 | 100 | 110 | 120 | **130)
Copie en bloc en faisant appel aux types de données d'une version antérieure de SQL ServerSQL Server.Performs the bulk-copy operation using data types from an earlier version of SQL ServerSQL Server. Cette option ne pose aucune question pour aucun champ, mais utilise les valeurs par défaut.This option does not prompt for each field; it uses the default values.

80 = SQL Server 2000 (8.x)SQL Server 2000 (8.x)80 = SQL Server 2000 (8.x)SQL Server 2000 (8.x)

90 = SQL Server 2005 (9.x)SQL Server 2005 (9.x)90 = SQL Server 2005 (9.x)SQL Server 2005 (9.x)

100 = SQL Server 2008SQL Server 2008 et SQL Server 2008 R2SQL Server 2008 R2100 = SQL Server 2008SQL Server 2008 and SQL Server 2008 R2SQL Server 2008 R2

110 = SQL Server 2012 (11.x)SQL Server 2012 (11.x)110 = SQL Server 2012 (11.x)SQL Server 2012 (11.x)

120 = SQL Server 2014 (12.x)SQL Server 2014 (12.x)120 = SQL Server 2014 (12.x)SQL Server 2014 (12.x)

130 = SQL Server 2016 (13.x)SQL Server 2016 (13.x)130 = SQL Server 2016 (13.x)SQL Server 2016 (13.x)

Par exemple, pour générer des données pour les types non pris en charge par SQL Server 2000 (8.x)SQL Server 2000 (8.x), mais introduits dans les versions ultérieures de SQL ServerSQL Server, utilisez l'option -V80.For example, to generate data for types not supported by SQL Server 2000 (8.x)SQL Server 2000 (8.x), but were introduced in later versions of SQL ServerSQL Server, use the -V80 option.

Pour plus d’informations, consultez Importer des données au format natif et caractère à partir de versions antérieures de SQL Server.For more information, see Import Native and Character Format Data from Earlier Versions of SQL Server.

-w-w
Copie en bloc en utilisant les caractères Unicode.Performs the bulk copy operation using Unicode characters. Cette option n’affiche aucune invite pour aucun champ, mais utilise le type de données nchar comme type de stockage, n’ajoute pas de préfixe et emploie \t (tabulation) comme séparateur de champs et \n (caractère de saut de ligne) comme indicateur de fin de ligne.This option does not prompt for each field; it uses nchar as the storage type, no prefixes, \t (tab character) as the field separator, and \n (newline character) as the row terminator. -w n’est pas compatible avec -c.-w is not compatible with -c.

Pour plus d’informations, consultez Utiliser le format caractère Unicode pour importer ou exporter des données (SQL Server).For more information, see Use Unicode Character Format to Import or Export Data (SQL Server).

-x-x
Utilisé avec les options format et -f format_file, génère un fichier au format XML à la place du fichier au format non-XML par défaut.Used with the format and -f format_file options, generates an XML-based format file instead of the default non-XML format file. L’option -x ne fonctionne pas lors de l’importation ou de l’exportation de données.The -x does not work when importing or exporting data. Elle génère une erreur si elle est utilisée sans format et -f format_file.It generates an error if used without both format and -f format_file.

NotesRemarks

  • L’utilitaire bcp 13.0 est installé lorsque vous installez les outils MicrosoftMicrosoftSQL Server 2019 (15.x)SQL Server 2019 (15.x) .The bcp 13.0 client is installed when you install MicrosoftMicrosoftSQL Server 2019 (15.x)SQL Server 2019 (15.x) tools. Si les outils sont installés pour SQL Server 2019 (15.x)SQL Server 2019 (15.x) et pour une version antérieure de SQL ServerSQL Server, en fonction de la valeur de la variable d’environnement PATH, vous utiliserez peut-être le client bcp antérieur au lieu du client bcp 13.0.If tools are installed for both SQL Server 2019 (15.x)SQL Server 2019 (15.x) and an earlier version of SQL ServerSQL Server, depending on the order of values of the PATH environment variable, you might be using the earlier bcp client instead of the bcp 13.0 client. Cette variable d'environnement définit l'ensemble de répertoires utilisés par Windows pour rechercher des fichiers exécutables.This environment variable defines the set of directories used by Windows to search for executable files. Pour savoir quelle version vous utilisez, exécutez la commande bcp /v ou bcp -v à l’invite de commandes Windows.To discover which version you are using, run the bcp /v or bcp -v command at the Windows Command Prompt. Pour plus d’informations sur la définition du chemin de commande dans la variable d’environnement PATH, consultez Variables d’environnement ou recherchez Variables d’environnement dans l’aide de Windows.For information about how to set the command path in the PATH environment variable, see Environment Variables or search for Environment Variables in Windows Help.

    Pour vous assurer que vous exécutez la version la plus récente de l’utilitaire bcp, vous devez supprimer toutes les anciennes versions de cet utilitaire.To make sure the newest version of the bcp utility is running you need to remove any older versions of the bcp utility.

    Pour déterminer l’emplacement d’installation de toutes les versions de l’utilitaire bcp, tapez la commande suivante dans l’invite de commandes :To determine where all versions of the bcp utility are installed, type in the command prompt:

    where bcp.exe
    
  • L’utilitaire bcp peut également être téléchargé séparément depuis le Microsoft SQL Server 2016 Feature Pack.The bcp utility can also be downloaded separately from the Microsoft SQL Server 2016 Feature Pack. Sélectionnez ENU\x64\MsSqlCmdLnUtils.msi ou ENU\x86\MsSqlCmdLnUtils.msi.Select either ENU\x64\MsSqlCmdLnUtils.msi or ENU\x86\MsSqlCmdLnUtils.msi.

  • Les fichiers de format XML ne sont pris en charge que si les outils SQL ServerSQL Server sont installés conjointement avec SQL ServerSQL Server Native Client.XML format files are only supported when SQL ServerSQL Server tools are installed together with SQL ServerSQL Server Native Client.

  • Pour savoir où trouver l’utilitaire bcp ou comment l’exécuter, et pour connaître les conventions syntaxiques des utilitaires d’invite de commandes, consultez Référence de service d’invite de commande (moteur de base de données).For information about where to find or how to run the bcp utility and about the command prompt utilities syntax conventions, see Command Prompt Utility Reference (Database Engine).

  • Pour plus d’informations sur la préparation des données en vue d’une importation ou d’une exportation en bloc, consultez Préparer des données en vue d’une exportation ou d’une importation en bloc (SQL Server).For information on preparing data for bulk import or export operations, see Prepare Data for Bulk Export or Import (SQL Server).

  • Pour savoir à quel moment les opérations d’insertion de ligne effectuées par l’importation en bloc sont consignées dans le journal des transactions, consultez Conditions requises pour une journalisation minimale dans l’importation en bloc.For information about when row-insert operations that are performed by bulk import are logged in the transaction log, see Prerequisites for Minimal Logging in Bulk Import.

  • Utilisation de caractères spéciaux supplémentairesUsing additional special characters

    Les caractères <, >, |, & et ^ sont des caractères d’interpréteur de commandes spéciaux. Ils doivent être précédés du caractère d’échappement (^) ou placés entre guillemets quand ils sont utilisés dans une chaîne (par exemple, « StringContaining&Symbol »).The characters <, >, |, &, ^ are special command shell characters, and they must be preceded by the escape character (^) or enclosed in quotation marks when used in String (for example, "StringContaining&Symbol"). Si vous placez une chaîne contenant un caractère spécial entre guillemets, les guillemets sont définis comme faisant partie de la valeur de la variable d’environnement.If you use quotation marks to enclose a string that contains one of the special characters, the quotation marks are set as part of the environment variable value.

Prise en charge de fichier de données natifNative Data File Support

Dans SQL Server 2019 (15.x)SQL Server 2019 (15.x), l’utilitaire bcp prend en charge les fichiers de données natifs compatibles avec SQL Server 2000 (8.x)SQL Server 2000 (8.x), SQL Server 2005 (9.x)SQL Server 2005 (9.x), SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2et SQL Server 2012 (11.x)SQL Server 2012 (11.x).In SQL Server 2019 (15.x)SQL Server 2019 (15.x), the bcp utility supports native data files compatible with SQL Server 2000 (8.x)SQL Server 2000 (8.x), SQL Server 2005 (9.x)SQL Server 2005 (9.x), SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, and SQL Server 2012 (11.x)SQL Server 2012 (11.x).

Colonnes calculées et colonnes horodateurComputed Columns and timestamp Columns

Les valeurs dans le fichier de données importé pour des colonnes calculées ou timestamp sont ignorées, et SQL ServerSQL Server attribue automatiquement des valeurs.Values in the data file being imported for computed or timestamp columns are ignored, and SQL ServerSQL Server automatically assigns values. Si le fichier de données ne contient pas de valeurs pour les colonnes calculées ou timestamp de la table, utilisez un fichier de format pour spécifier que les colonnes calculées ou timestamp de la table ne doivent pas être prises en compte lors de l’importation des données ; auquel cas, SQL ServerSQL Server attribue automatiquement des valeurs à la colonne.If the data file does not contain values for the computed or timestamp columns in the table, use a format file to specify that the computed or timestamp columns in the table should be skipped when importing data; SQL ServerSQL Server automatically assigns values for the column.

Les colonnes calculées et timestamp sont copiées en bloc de SQL ServerSQL Server vers un fichier de données comme d’ordinaire.Computed and timestamp columns are bulk copied from SQL ServerSQL Server to a data file as usual.

Spécification d'identificateurs contenant des espaces ou des guillemetsSpecifying Identifiers That Contain Spaces or Quotation Marks

SQL ServerSQL Server peuvent inclure des caractères tels que des espaces et des guillemets incorporés.identifiers can include characters such as embedded spaces and quotation marks. De tels identificateurs doivent être traités de la manière suivante :Such identifiers must be treated as follows:

  • Quand vous spécifiez, à l'invite de commandes, un identificateur ou un nom de fichier comportant un espace ou une apostrophe, mettez cet identificateur entre guillemets doubles (" ").When you specify an identifier or file name that includes a space or quotation mark at the command prompt, enclose the identifier in quotation marks ("").

    Par exemple, la commande bcp out suivante crée un fichier de données nommé Currency Types.dat:For example, the following bcp out command creates a data file named Currency Types.dat:

    bcp AdventureWorks2012.Sales.Currency out "Currency Types.dat" -T -c  
    
  • Pour spécifier un nom de base de données comportant un espace ou un guillemet simple, vous devez utiliser l’option -q .To specify a database name that contains a space or quotation mark, you must use the -q option.

  • Pour les noms de propriétaires, de tables ou de vues incorporant des espaces ou des guillemets simples, vous pouvez :For owner, table, or view names that contain embedded spaces or quotation marks, you can either:

    • Spécifier l’option -q , ouSpecify the -q option, or

    • Placer le nom de propriétaire, de table ou de vue entre crochets ([]), à l'intérieur des guillemets simples.Enclose the owner, table, or view name in brackets ([]) inside the quotation marks.

Validation des donnéesData Validation

bcp applique désormais une validation des données et des contrôles de données qui peuvent entraîner l’échec de scripts existants si ceux-ci sont exécutés sur des données non valides dans un fichier de données.bcp now enforces data validation and data checks that might cause scripts to fail if they're executed on invalid data in a data file. Par exemple, bcp vérifie maintenant que :For example, bcp now verifies that:

  • Les représentations en mode natif des types de données float ou real sont valides.The native representations of float or real data types are valid.

  • les données Unicode comportent un nombre d'octets pair.Unicode data has an even-byte length.

Les types de données non valides qui pouvaient être importées dans les versions précédentes de SQL ServerSQL Server risquent de ne pas pouvoir être chargées désormais ; tandis que dans les versions précédentes, l'échec ne se produisait que lorsqu'un client tentait d'accéder aux données non valides.Forms of invalid data that could be bulk imported in earlier versions of SQL ServerSQL Server might fail to load now; whereas, in earlier versions, the failure did not occur until a client tried to access the invalid data. La validation supplémentaire réduit les risques d’incidents lors de l’interrogation des données après un chargement en bloc.The added validation minimizes surprises when querying the data after bulkload.

Exportation et importation en bloc de documents SQLXMLBulk Exporting or Importing SQLXML Documents

Pour exporter ou importer en bloc des données SQLXML, utilisez l'un des types de données ci-dessous dans votre fichier de format.To bulk export or import SQLXML data, use one of the following data types in your format file.

Type de donnéesData type RésultatEffect
SQLCHAR ou SQLVARYCHARSQLCHAR or SQLVARYCHAR Les données sont envoyées dans la page de codes du client ou dans la page de codes impliquée par le classement.The data is sent in the client code page or in the code page implied by the collation). L’effet est le même que si vous définissiez le commutateur -c sans spécifier de fichier de format.The effect is the same as specifying the -c switch without specifying a format file.
SQLNCHAR ou SQLNVARCHARSQLNCHAR or SQLNVARCHAR Les données sont envoyées au format Unicode.The data is sent as Unicode. L’effet est le même que si vous définissiez le commutateur -w sans spécifier de fichier de format.The effect is the same as specifying the -w switch without specifying a format file.
SQLBINARY ou SQLVARYBINSQLBINARY or SQLVARYBIN Les données sont envoyées sans être converties.The data is sent without any conversion.

AutorisationsPermissions

Une opération bcp out nécessite l’autorisation SELECT sur la table source.A bcp out operation requires SELECT permission on the source table.

Une opération bcp in nécessite au minimum des autorisations SELECT/INSERT sur la table cible.A bcp in operation minimally requires SELECT/INSERT permissions on the target table. En outre, l'autorisation ALTER TABLE est requise si l'une des conditions suivantes est vraie :In addition, ALTER TABLE permission is required if any of the following is true:

  • Les contraintes existent et l'indicateur CHECK_CONSTRAINTS n'est pas spécifié.Constraints exist and the CHECK_CONSTRAINTS hint is not specified.

    Notes

    La désactivation des contraintes est le comportement par défaut.Disabling constraints is the default behavior. Pour activer les contraintes explicitement, utilisez l’option -h avec l’indicateur CHECK_CONSTRAINTS.To enable constraints explicitly, use the -h option with the CHECK_CONSTRAINTS hint.

  • Les déclencheurs existent et l'indicateur FIRE_TRIGGER n'est pas spécifié.Triggers exist and the FIRE_TRIGGER hint is not specified.

    Notes

    Par défaut, les déclencheurs ne sont pas activés.By default, triggers are not fired. Pour activer les déclencheurs explicitement, utilisez l’option -h avec l’indicateur FIRE_TRIGGERS.To fire triggers explicitly, use the -h option with the FIRE_TRIGGERS hint.

  • Vous devez utiliser l’option -E pour importer des valeurs d’identité à partir d’un fichier de données.You use the -E option to import identity values from a data file.

Notes

L'autorisation ALTER TABLE obligatoire sur la table cible était nouvelle dans SQL Server 2005 (9.x)SQL Server 2005 (9.x).Requiring ALTER TABLE permission on the target table was new in SQL Server 2005 (9.x)SQL Server 2005 (9.x). Les scripts bcp qui n’appliquent pas de déclencheurs et de contrôles de contrainte risquent d’échouer si le compte d’utilisateur ne possède pas d’autorisation de table ALTER pour la table cible.This new requirement might cause bcp scripts that do not enforce triggers and constraint checks to fail if the user account lacks ALTER table permissions for the target table.

Meilleures pratiques relatives au mode caractère (-c) et au mode natif (-n)Character Mode (-c) and Native Mode (-n) Best Practices

Cette section contient des recommandations pour le mode caractère (-c) et le mode natif (-n).This section has recommendations for to character mode (-c) and native mode (-n).

  • (Administrateur/Utilisateur) Lorsque cela est possible, utilisez le format natif (-n) pour éviter le problème de séparateur.(Administrator/User) When possible, use native format (-n) to avoid the separator issue. Utilisez le format natif pour exporter et importer à l'aide de SQL ServerSQL Server.Use the native format to export and import using SQL ServerSQL Server. Exportez les données à partir de SQL ServerSQL Server à l'aide de l'option -c ou -w si les données doivent être importées dans une base de données non-SQL ServerSQL Server .Export data from SQL ServerSQL Server using the -c or -w option if the data will be imported to a non-SQL ServerSQL Server database.

  • (Administrateur) Vérifiez les données à l'aide de BCP OUT.(Administrator) Verify data when using BCP OUT. Par exemple, lorsque vous utilisez BCP OUT, BCP IN, puis BCP OUT vérifiez que les données sont correctement exportées et que les valeurs de terminateurs ne sont pas utilisées comme parties des valeurs de données.For example, when you use BCP OUT, BCP IN, and then BCP OUT verify that the data is properly exported and the terminator values are not used as part of some data value. Remplacez les terminateurs par défaut (en utilisant les options -t et -r) par des valeurs hexadécimales aléatoires afin d’éviter les conflits entre les valeurs de terminateurs et les valeurs de données.Consider overriding the default terminators (using -t and -r options) with random hexadecimal values to avoid conflicts between terminator values and data values.

  • (Utilisateur) Utilisez un terminateur long et unique (n'importe quelle séquence d'octets ou de caractères) pour minimiser les risques de conflits avec la valeur de chaîne actuelle.(User) Use a long and unique terminator (any sequence of bytes or characters) to minimize the possibility of a conflict with the actual string value. Cette tâche peut être réalisée à l'aide des options -t et -r.This can be done by using the -t and -r options.

ExemplesExamples

Cette section contient les exemples suivants :This section contains the following examples:

R.A. Identifier la version de l’utilitaire bcpIdentify bcp utility version

B.B. Copie de lignes de table dans un fichier de données (avec une connexion approuvée)Copying table rows into a data file (with a trusted connection)

C.C. Copie de lignes de table dans un fichier de données (avec l'authentification en mode mixte)Copying table rows into a data file (with Mixed-mode Authentication)

D.D. Copie de données depuis un fichier dans une tableCopying data from a file to a table

E.E. Copie d'une colonne spécifique dans un fichier de donnéesCopying a specific column into a data file

F.F. Copie d'une ligne spécifique dans un fichier de donnéesCopying a specific row into a data file

G.G. Copie de données d'une requête dans un fichier de donnéesCopying data from a query to a data file

H.H. Création de fichiers de formatCreating format files

I.I. Utilisation d’un fichier de format pour une importation en bloc avec bcpUsing a format file to bulk import with bcp

J.J. Spécification d’une page de codesSpecifying a code page

Exemples de conditions de testExample Test Conditions

Les exemples ci-dessous utilisent l’exemple de base de données WideWorldImporters pour SQL Server (à partir de 2016) et Azure SQL Database.The examples below make use of the WideWorldImporters sample database for SQL Server (starting 2016) and Azure SQL Database. WideWorldImporters peut être téléchargé depuis https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0.WideWorldImporters can be downloaded from https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0. Consultez RESTORE (Transact-SQL) pour que la syntaxe restaure la base de données.See RESTORE (Transact-SQL) for the syntax to restore the sample database. Sauf mention spécifique contraire, ces exemples partent du principe que vous utilisez l’authentification Windows et que vous disposez d’une connexion approuvée à l’instance du serveur sur laquelle vous exécutez la commande bcp .Except where specified otherwise, the examples assume that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command. Un répertoire nommé D:\BCP sera utilisé dans de nombreux exemples.A directory named D:\BCP will be used in many of the examples.

Le script ci-dessous crée une copie vide de la table WideWorldImporters.Warehouse.StockItemTransactions , puis ajoute une contrainte de clé primaire.The script below creates an empty copy of the WideWorldImporters.Warehouse.StockItemTransactions table and then adds a primary key constraint. Exécuter le script T-SQL suivant dans SQL Server Management Studio (SSMS)Run the following T-SQL script in SQL Server Management Studio (SSMS)

USE WideWorldImporters;  
GO  

SET NOCOUNT ON;

IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Warehouse.StockItemTransactions_bcp')
BEGIN
    SELECT * INTO WideWorldImporters.Warehouse.StockItemTransactions_bcp
    FROM WideWorldImporters.Warehouse.StockItemTransactions  
    WHERE 1 = 2;  

    ALTER TABLE Warehouse.StockItemTransactions_bcp 
    ADD CONSTRAINT PK_Warehouse_StockItemTransactions_bcp PRIMARY KEY NONCLUSTERED 
    (StockItemTransactionID ASC);
END

Notes

Tronquez la table StockItemTransactions_bcp autant que nécessaire.Truncate the StockItemTransactions_bcp table as needed.

TRUNCATE TABLE WideWorldImporters.Warehouse.StockItemTransactions_bcp;TRUNCATE TABLE WideWorldImporters.Warehouse.StockItemTransactions_bcp;

R.A. Identifier la version de l’utilitaire bcpIdentify bcp utility version

À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

bcp -v

B.B. Copie de lignes de table dans un fichier de données (avec une connexion approuvée)Copying table rows into a data file (with a trusted connection)

Les exemples suivants illustrent l’utilisation de l’option out sur la table WideWorldImporters.Warehouse.StockItemTransactions.The following examples illustrate the out option on the WideWorldImporters.Warehouse.StockItemTransactions table.

  • De base Cet exemple crée un fichier de données nommé StockItemTransactions_character.bcp et y copie les données de table au format caractère.Basic This example creates a data file named StockItemTransactions_character.bcp and copies the table data into it using character format.

    À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

    bcp WideWorldImporters.Warehouse.StockItemTransactions out D:\BCP\StockItemTransactions_character.bcp -c -T
    
  • Développé Cet exemple crée un fichier de données nommé StockItemTransactions_native.bcp et y copie les données de table à l’aide du format natif.Expanded This example creates a data file named StockItemTransactions_native.bcp and copies the table data into it using the native format. L’exemple spécifie également le nombre maximum d’erreurs de syntaxe, un fichier d’erreurs et un fichier de sortie.The example also: specifies the maximum number of syntax errors, an error file, and an output file.

    À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

    bcp WideWorldImporters.Warehouse.StockItemTransactions OUT D:\BCP\StockItemTransactions_native.bcp -m 1 -n -e D:\BCP\Error_out.log -o D:\BCP\Output_out.log -S -T
    

Passez en revue Error_out.log et Output_out.log.Review Error_out.log and Output_out.log. Error_out.log doit être laissé vide.Error_out.log should be blank. Comparez les tailles de fichiers entre StockItemTransactions_character.bcp et StockItemTransactions_native.bcp.Compare the file sizes between StockItemTransactions_character.bcp and StockItemTransactions_native.bcp.

C.C. Copie de lignes de table dans un fichier de données (avec l'authentification en mode mixte)Copying table rows into a data file (with mixed-mode authentication)

L’exemple suivant illustre l’option out sur la table WideWorldImporters.Warehouse.StockItemTransactions .The following example illustrates the out option on the WideWorldImporters.Warehouse.StockItemTransactions table. Cet exemple crée un fichier de données nommé StockItemTransactions_character.bcp et y copie les données de table au format caractère .This example creates a data file named StockItemTransactions_character.bcp and copies the table data into it using character format.

L’exemple part du principe que vous utilisez l’authentification en mode mixte ; vous devez utiliser le commutateur -U pour spécifier votre ID de connexion.The example assumes that you are using mixed-mode authentication, you must use the -U switch to specify your login ID. De même, à moins que vous vous connectiez à l’instance par défaut de SQL ServerSQL Server sur l’ordinateur local, utilisez le commutateur -S pour spécifier le nom du système et, éventuellement, un nom d’instance.Also, unless you are connecting to the default instance of SQL ServerSQL Server on the local computer, use the -S switch to specify the system name and, optionally, an instance name.

À partir d'une invite de commandes, entrez la commande suivante : (Le système demande votre mot de passe.)At a command prompt, enter the following command: (The system will prompt you for your password.)

bcp WideWorldImporters.Warehouse.StockItemTransactions out D:\BCP\StockItemTransactions_character.bcp -c -U<login_id> -S<server_name\instance_name>

D.D. Copie de données depuis un fichier dans une tableCopying data from a file to a table

Les exemples suivants illustrent l’option in sur la table WideWorldImporters.Warehouse.StockItemTransactions_bcp , à l’aide de fichiers créés précédemment.The following examples illustrate the in option on the WideWorldImporters.Warehouse.StockItemTransactions_bcp table using files created above.

  • De base Cet exemple utilise le fichier de données StockItemTransactions_character.bcp créé précédemment.Basic This example uses the StockItemTransactions_character.bcp data file previously created.

    À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

    bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp IN D:\BCP\StockItemTransactions_character.bcp -c -T
    
  • Développé Cet exemple utilise le fichier de données StockItemTransactions_native.bcp créé précédemment.Expanded This example uses the StockItemTransactions_native.bcp data file previously created. En outre, l’exemple utilise l’indicateur TABLOCK, spécifie la taille de lot, le nombre maximum d’erreurs de syntaxe, un fichier d’erreurs et un fichier de sortie.The example also: use the hint TABLOCK, specifies the batch size, the maximum number of syntax errors, an error file, and an output file.

À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp IN D:\BCP\StockItemTransactions_native.bcp -b 5000 -h "TABLOCK" -m 1 -n -e D:\BCP\Error_in.log -o D:\BCP\Output_in.log -S -T

Passez en revue Error_in.log et Output_in.log.Review Error_in.log and Output_in.log.

E.E. Copie d'une colonne spécifique dans un fichier de donnéesCopying a specific column into a data file

Pour copier une colonne spécifique, vous pouvez utiliser l’option queryout .To copy a specific column, you can use the queryout option. L'exemple suivant copie uniquement la colonne StockItemTransactionID de la table Warehouse.StockItemTransactions dans un fichier de données.The following example copies only the StockItemTransactionID column of the Warehouse.StockItemTransactions table into a data file.

À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

bcp "SELECT StockItemTransactionID FROM WideWorldImporters.Warehouse.StockItemTransactions WITH (NOLOCK)" queryout D:\BCP\StockItemTransactionID_c.bcp -c -T

F.F. Copie d'une ligne spécifique dans un fichier de donnéesCopying a specific row into a data file

Pour copier une ligne spécifique, vous pouvez utiliser l’option queryout .To copy a specific row, you can use the queryout option. L’exemple suivant copie uniquement la ligne de la personne nommée Amy Trefl de la table WideWorldImporters.Application.People dans un fichier de données Amy_Trefl_c.bcp.The following example copies only the row for the person named Amy Trefl from the WideWorldImporters.Application.People table into a data file Amy_Trefl_c.bcp. Remarque : le commutateur -d sert à identifier la base de données.Note: the -d switch is used identify the database.

À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

bcp "SELECT * from Application.People WHERE FullName = 'Amy Trefl'" queryout D:\BCP\Amy_Trefl_c.bcp -d WideWorldImporters -c -T

G.G. Copie de données d'une requête dans un fichier de donnéesCopying data from a query to a data file

Pour copier le jeu de résultats d’une instruction Transact-SQL dans un fichier de données, utilisez l’option queryout .To copy the result set from a Transact-SQL statement to a data file, use the queryout option. L’exemple suivant copie les noms de la table WideWorldImporters.Application.People , triée en fonction du nom, dans le fichier de données People.txt .The following example copies the names from the WideWorldImporters.Application.People table, ordered by full name, into the People.txt data file. Remarque : le commutateur -t est utilisé pour créer un fichier délimité par des virgules.Note: the -t switch is used to create a comma-delimited file.

À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

bcp "SELECT FullName, PreferredName FROM WideWorldImporters.Application.People ORDER BY FullName" queryout D:\BCP\People.txt -t, -c -T

H.H. Création de fichiers de formatCreating format files

L’exemple suivant crée trois fichiers de format distincts pour la table Warehouse.StockItemTransactions dans la base de données WideWorldImporters .The following example creates three different format files for the Warehouse.StockItemTransactions table in the WideWorldImporters database. Passez en revue le contenu de chaque fichier créé.Review the contents of each created file.

À partir d’une invite de commandes, entrez les commandes suivantes :At a command prompt, enter the following commands:

REM non-XML character format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\BCP\StockItemTransactions_c.fmt -c -T 

REM non-XML native format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\BCP\StockItemTransactions_n.fmt -n -T

REM XML character format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\BCP\StockItemTransactions_c.xml -x -c -T

Notes

Pour utiliser le commutateur -x , vous devez utiliser un client bcp 9.0.To use the -x switch, you must be using a bcp 9.0 client. Pour plus d’informations sur l’utilisation du client bcp 9.0, consultez la sectionNotes.For information about how to use the bcp 9.0 client, see "Remarks."

Pour plus d’informations consultez Fichiers de format non-XML (SQL Server) et Fichiers de format XML (SQL Server).For more information, see Non-XML Format Files (SQL Server) and XML Format Files (SQL Server).

I.I. Utilisation d'un fichier de format pour une importation en bloc avec bcpUsing a format file to bulk import with bcp

Pour utiliser un fichier de format précédemment créé lors de l’importation de données dans une instance de SQL ServerSQL Server, utilisez le commutateur -f avec l’option in .To use a previously created format file when importing data into an instance of SQL ServerSQL Server, use the -f switch with the in option. Par exemple, la commande suivante copie en bloc le contenu d’un fichier de données, StockItemTransactions_character.bcp, dans une copie de la table Warehouse.StockItemTransactions_bcp en utilisant le fichier de format précédemment créé, StockItemTransactions_c.xml.For example, the following command bulk copies the contents of a data file, StockItemTransactions_character.bcp, into a copy of the Warehouse.StockItemTransactions_bcp table by using the previously created format file, StockItemTransactions_c.xml. Remarque : le commutateur -L est utilisé pour importer uniquement les 100 premiers enregistrements.Note: the -L switch is used to import only the first 100 records.

À partir d'une invite de commandes, entrez la commande suivante :At a command prompt, enter the following command:

bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp in D:\BCP\StockItemTransactions_character.bcp -L 100 -f D:\BCP\StockItemTransactions_c.xml -T

Notes

Les fichiers de format s'avèrent utiles lorsque les champs des fichiers de données diffèrent des colonnes de table ; par exemple, par leur nombre, leur ordre ou leurs types de données.Format files are useful when the data file fields are different from the table columns; for example, in their number, ordering, or data types. Pour plus d’informations, consultez Fichiers de format pour l’importation ou l’exportation de données (SQL Server).For more information, see Format Files for Importing or Exporting Data (SQL Server).

J.J. Spécification d’une page de codesSpecifying a code page

L’exemple d’extrait de code suivant illustre l’importation bcp lors de la spécification d’une page de codes 65001 :The following partial code example shows bcp import while specifying a code page 65001:

bcp.exe MyTable in "D:\data.csv" -T -c -C 65001 -t , ...  

Autres exemplesAdditional Examples

Les rubriques suivantes contiennent des exemples de l’utilisation de bcp :The following topics contain examples of using bcp:
Formats de données pour l'importation en bloc ou l'exportation en bloc (SQL Server)Data Formats for Bulk Import or Bulk Export (SQL Server)
 ● Utiliser le format natif pour importer ou exporter des données (SQL Server) ● Use Native Format to Import or Export Data (SQL Server)
 ● Utiliser le format caractère pour importer ou exporter des données (SQL Server) ● Use Character Format to Import or Export Data (SQL Server)
 ● Utiliser le format natif Unicode pour importer ou exporter des données (SQL Server) ● Use Unicode Native Format to Import or Export Data (SQL Server)
 ● Utiliser le format caractère Unicode pour importer ou exporter des données (SQL Server) ● Use Unicode Character Format to Import or Export Data (SQL Server)

Spécifier des indicateurs de fin de champ et de fin de ligne (SQL Server)Specify Field and Row Terminators (SQL Server)

Conserver les valeurs NULL ou utiliser la valeur par défaut lors de l'importation en bloc (SQL Server)Keep Nulls or Use Default Values During Bulk Import (SQL Server)

Conserver des valeurs d'identité lors de l'importation de données en bloc (SQL Server)Keep Identity Values When Bulk Importing Data (SQL Server)

Fichiers de format pour l’importation ou l’exportation de données (SQL Server)Format Files for Importing or Exporting Data (SQL Server))
 ● Créer un fichier de format (SQL Server) ● Create a Format File (SQL Server)
 ● Utiliser un fichier de format pour importer des données en bloc (SQL Server) ● Use a Format File to Bulk Import Data (SQL Server)
 ● Utiliser un fichier de format pour ignorer une colonne de table (SQL Server) ● Use a Format File to Skip a Table Column (SQL Server)
 ● Utiliser un fichier de format pour ignorer un champ de données (SQL Server) ● Use a Format File to Skip a Data Field (SQL Server)
 ● Utiliser un fichier de format pour mapper les colonnes d’une table aux champs d’un fichier de données (SQL Server) ● Use a Format File to Map Table Columns to Data-File Fields (SQL Server)

Exemples d'importation et d'exportation en bloc de documents XML (SQL Server)Examples of Bulk Import and Export of XML Documents (SQL Server)

Observations et limitationsConsiderations and limitations

  • L’utilitaire BCP présente une limitation que le message d’erreur affiche uniquement des caractères de 512 octets.The bcp utility has a limitation that the error message shows only 512-byte characters. Seuls les 512 premiers octets du message d’erreur s’affichent.Only the first 512 bytes of the error message are displayed.

Étapes suivantesNext steps

CommentairesFeedback

needhelp_person_icon Forum sur les outils clients SQLneedhelp_person_icon SQL Client Tools Forum

Obtenir de l’aide