Utilitaire SQL Server BCP

Utilitaire SQL Server BCP

SQL Server est l'une des bases de données SQL les plus étendues et les plus robustes de l'ère moderne. Non seulement il peut gérer des quantités ridicules de données, mais elle fournit également des outils puissants qui facilitent le travail avec les bases de données SQL.

Ce message couvrira l'un de ces outils dans l'écosystème SQL Server; Utilitaire BCP. Nous discuterons de l'utilitaire BCP, de l'installation et de divers scénarios que vous pouvez utiliser.

Laissons sauter.

Quel est l'utilitaire BCP?

Le programme de copie en vrac, ou BCP pour faire court, est un puissant utilitaire de ligne de commande qui vous permet de copier en vrac des données entre deux ou plusieurs instances SQL Server ou un fichier de données dans un format spécifique.

Voici quelques-unes des actions que vous pouvez effectuer à l'aide de l'utilitaire BCP dans SQL Server:

  1. Exportation de données en vrac d'une table vers un fichier de données spécifique dans un format défini.
  2. Exportation de données en vrac d'une requête vers un fichier de données définies.
  3. Importation de données BUK à partir du fichier de données vers une table SQL Server.

Un autre avantage de l'utilitaire BCP est qu'il ne vous oblige pas à vous familiariser avec la commande Transact-SQL. Cependant, lors de l'exportation des données d'une requête en utilisant le paramètre QueryOption, vous devrez utiliser des commandes Transact-SQL.

Installation de l'utilitaire BCP sous Windows

Selon le serveur SQL installé et la méthode d'installation, vous devrez peut-être installer l'utilitaire BCP manuellement. Pour installer, téléchargez l'utilitaire BCP à partir du lien ci-dessous:

https: // allez.Microsoft.com / fwlink /?linkid = 2142258 (x64)

https: // allez.Microsoft.com / fwlink /?linkid = 2142257 (x86)

Remarque: les utilitaires de ligne de commande SQL Server sont emballés par défaut dans SQL Server 2019 et supérieur.

Une fois le téléchargement prêt, ouvrez le package d'installation et cliquez sur Suivant pour commencer le processus.

Acceptez la licence logicielle fournie et continuez.

Enfin, définissez l'option d'installation du programme d'installation pour configurer les outils de ligne de commande SQL Server sur votre machine.

Pour confirmer que l'utilitaire BCP est disponible, lancez l'invite de commande et exécutez la commande:

BCP -V

La commande renverra la version BCP installée comme:

BCP - Programme de copie en vrac pour Microsoft SQL Server.
Copyright (c) Microsoft Corporation. Tous les droits sont réservés.
Version: 15.0.2000.5

Pour afficher toutes les options de commande, exécutez la commande BCP sans aucun paramètre:

$ bcp

Sortir:

Utilisation: BCP dbtable | Query in | OUT | Queryout | format fichier de données
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-l lastrow] [-b BatchSize]
[-N Type natif] [-c Type de caractères] [-w Type de caractères large]
[-N Keep non-text natif] [-v Format de fichier Version] [-Q Identificateur cité]
[-C Spécificateur de page de code] [-t Terminator de champ] [-r Terminator de la ligne]
[-i inputfile] [-o outfile] [-a paquetSize]
[-S Nom du serveur] [-U Nom d'utilisateur] [-p mot de passe]
[-T Connexion de confiance] [-v version] [-r Regional Active]
[-K Keep Null Values] [-E Garder les valeurs d'identité] [- G Azure Active Directory Authentication]
[-H "Hints de charge"] [-x Générer un fichier de format xml]
[-d Nom de la base de données] [-K Intention de l'application] [-l Login Timeout]

La commande offre des options et des paramètres étendus pour diverses opérations que vous souhaitez effectuer.

Table d'exportation SQL Server vers le fichier de données à l'aide de l'utilitaire BCP

L'exemple ci-dessous illustre l'utilisation de l'utilitaire BCP pour exporter les entrées de la table à partir de la base de données Resolver. La commande stocke la table dans les entrées.Fichier de données DAT.

Entrées BCP Out "C: \ Users \ User \ Documents \ Entrées.dat "-c -t -d résolver -u nom d'utilisateur -t

Laissez-nous décomposer les options de la commande ci-dessus.

Nous commençons par invoquer l'utilitaire BCP, suivi du nom du tableau que nous souhaitons exporter.

  1. Le paramètre OUT nous permet de spécifier le chemin d'accès au fichier de données.
  2. -C permet à l'utilitaire d'effectuer l'opération d'exportation à l'aide du type de données de caractère. Ceci n'est utilisé que pour les types de stockage sans préfixes et avec le caractère \ t comme séparateur.
  3. -t spécifie le terminateur de champ.
  4. -D définit le nom de la base de données cible.
  5. -U le nom d'utilisateur à utiliser pour se connecter au serveur.
  6. -T Utiliser la connexion de confiance.

La commande ci-dessus doit renvoyer la sortie comme:

Copie de départ…
6 lignes copiées.
Taille du paquet réseau (octets): 4096
Temps d'horloge (MS.) Total: 1 moyenne: (6000.00 rangées par seconde.)

Assurez-vous le chemin d'accès au fichier de données cible avant d'exécuter la commande.

SQL Server exporte les résultats d'une requête vers le fichier de données

Nous pouvons également exporter les résultats d'une requête donnée, comme le montre l'exemple de requête ci-dessous:

BCP 'SELECT * FROM ENTRIES' Queryout "C: \ Users \ User \ Documents \ Query.data "-t -d résolver -c -t

L'option Queryout nous permet de stocker le résultat d'une requête Transact-SQL à un fichier spécifié. Nous entourons la requête que nous souhaitons exécuter dans une paire de guillemets pour éviter un conflit avec les paramètres de la commande BCP.

SQL Server Importer le fichier de données dans le tableau

Si vous avez un fichier de données, vous pouvez l'importer dans un tableau ou une autre, comme illustré ci-dessous.

Commencez par créer une base de données simple.

Drop Database si existe BCP_DEMO;
Créer une base de données BCP_DEMO;
UAE BCP_DEMO;

Ensuite, créez une table avec une structure similaire à celle des données du fichier:

Créer des échantillons de table (
id int not null identité (1,
1) Clé primaire,
server_name varchar (50),
server_address varchar (255) pas null,
compression_method varchar (100) par défaut «Aucun»,
size_on_disk float pas nul,
Float de taille_compressée,
total_records int not null,
Init_Date Date
));

Enfin, importez le fichier de données dans le tableau comme:

BCP BCP_DEMO.dbo.Échantillons dans 'C: \ Users \ User \ Documents \ Entrées.dat '-c -t

Cela devrait récupérer les données du fichier de données dans le tableau. Un exemple de sortie:

Copie de départ…
SQLState = S1000, IninerError = 0
Error = [Microsoft] [pilote ODBC 17 pour SQL Server] EOF inattendu rencontré dans BCP Data-FILE
0 lignes copiées.
Taille du paquet réseau (octets): 4096
Temps d'horloge (MS.) Total: 1

Et vous avez réussi à importer les données du fichier de données.

La fin du voyage

Cet article vous a appris les principes fondamentaux de l'utilisation de l'utilitaire BCP pour obtenir des données d'importation et d'exportation vers et depuis les instances et fichiers de données SQL Server.

Merci d'avoir fait une promenade avec nous dans les fonctionnalités des services publics de BCP. N'hésitez pas à explorer les documents pour des informations plus étendues. Rendez-vous au prochain.