Skip to main content

Ús de bcp per importar i exportar dades des de SQL Server

Anonim

La comanda de còpia massiva (bcp) de Microsoft SQL Server us ofereix la possibilitat d'inserir un gran nombre de registres directament des de la línia de comandaments. A més de ser una eina útil per als aficionats a la línia de comandaments, la utilitat bcp és una eina poderosa per a aquells que busquen inserir dades en una base de dades de SQL Server des d'un fitxer per lots o un altre mètode programàtic. Hi ha moltes maneres d'obtenir dades en una base de dades, però la bcp és la més ràpida quan es configura amb els paràmetres adequats.

Sintaxi BCP

La sintaxi bàsica per utilitzar bcp és:

bcp

on els arguments prenen els següents valors:

  • Table_name és el nom complet de la taula. Per exemple, podeu utilitzar inventory.dbo.fruits per inserir registres a la taula de fruites propietat del propietari de la base de dades d'inventari.
  • Direcció indica si voleu importar ("in" direction) o exportar ("out" direction) les dades.
  • Nom de l'arxiu és la ruta completa del fitxer. Per exemple, podeu importar el fitxer C: fruit inventory.txt.
  • Opcions us permet especificar paràmetres per a l'operació massiva. Per exemple, podeu especificar el nombre màxim d'errors permesos amb l'opció -m. També podeu utilitzar l'opció -x per especificar un format de fitxer XML. Consulteu la documentació bcp de Microsoft per obtenir una llista completa.

Exemple d'importació BCP

Per posar-ho tot junts, imagineu que teniu una taula de fruites a la vostra base de dades d'inventari i voleu importar tots els registres d'un fitxer de text emmagatzemat al vostre disc dur en aquesta base de dades. Usaríeu la següent sintaxi de l'ordre bcp:

bcp inventory.dbo.fruits a "C: fruit inventory.txt" -c -T

Això produeix la següent sortida:

C: > bcp inventory.dbo.fruits a "C: fruit inventory.txt" -c -T

S'està iniciant la còpia …

S'han copiat 36 files.

Mida del paquet de xarxa (bytes): 4096

Hora del rellotge (ms.) Total: 16 Mitjana: (2250.00 files per segon).

C: >

És possible que hàgiu notat dues noves opcions en aquesta línia d'ordres. L'opció-c especifica que el format del fitxer d'importació serà el text delimitat per tabulació amb cada registre en una nova línia. L'opció -T especifica que bcp hauria d'utilitzar l'autenticació de Windows per connectar-se a la base de dades.

Exemple d'exportació BCP

Podeu exportar dades de la vostra base de dades amb bcp canviant la direcció de l'operació des de "in" to "out". Per exemple, podeu enviar el contingut de la taula fruit a un fitxer de text amb el següent comandament:

bcp inventory.dbo.fruits "C: fruit inventory.txt" -c-T

A continuació s'explica com es veu a la línia d'ordres:

C: > bcp inventory.dbo.fruits out "C: fruit inventory.txt" -c -T

S'està iniciant la còpia …

S'han copiat 42 files.

Mida del paquet de xarxa (bytes): 4096

Hora del rellotge (ms.) Total: 1 Mitjana: (42000.00 files per segon).

C: >

Això és tot per a l'ordre bcp. Podeu utilitzar aquesta ordre des de fitxers per lots o altres programes que tinguin accés a la línia de comandaments DOS per automatitzar la importació i exportació de dades des de la vostra base de dades SQL Server.