Importar i exportar dades de SQL Server des de la línia de comandaments amb Bcp

Bcp és la manera més ràpida d'obtenir dades en una base de dades

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:

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 Començant la còpia ... S'han copiat 36 files. Mida del paquet de xarxa (bytes): 4096 Temps de 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 Començant la còpia ... S'han copiat 42 files. Mida de paquet de xarxa (bytes): 4096 Temps de 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.