Skip to main content

Utilizarea bcp pentru a importa și a exporta date din SQL Server

Web Programming - Computer Science for Business Leaders 2016 (Iunie 2026)

Web Programming - Computer Science for Business Leaders 2016 (Iunie 2026)
Anonim

Comanda de copiere bulk (bcp) a Microsoft SQL Server vă oferă posibilitatea de a introduce un număr mare de înregistrări direct din linia de comandă. Pe lângă faptul că este un instrument util pentru aficionados de linie de comandă, utilitarul bcp este un instrument puternic pentru cei care încearcă să introducă datele într-o bază de date SQL Server dintr-un fișier batch sau altă metodă programatică. Există o mulțime de moduri de a obține date într-o bază de date, dar bcp este cel mai rapid când este configurat cu parametrii potriviți.

Sintaxa BCP

Sintaxa de bază pentru utilizarea bcp este:

bcp

unde argumentele iau următoarele valori:

  • tABLE_NAME este numele complet calificat al tabelului. De exemplu, este posibil să utilizați inventory.dbo.fruits pentru a insera înregistrările în tabelul fructelor deținut de proprietarul bazei de date în baza de date a inventarului.
  • Direcţie indică dacă doriți să importați date (direcția "în") sau export (direcția "out").
  • Nume de fișier este calea completă spre fișier. De exemplu, ați putea importa fișierul C: fruit inventory.txt.
  • Opțiuni vă permit să specificați parametrii pentru operațiunea în vrac. De exemplu, puteți specifica numărul maxim de erori admise cu opțiunea -m. De asemenea, puteți utiliza opțiunea -x pentru a specifica un format de fișier XML. Consultați documentația bcp a Microsoft pentru o listă completă.

Exemplu de import BCP

Pentru a pune totul împreună, imaginați-vă că aveți o tabelă de fructe în baza de date inventar și doriți să importați toate înregistrările dintr-un fișier text stocat pe hard disk în baza de date respectivă. Ați folosi următoarea sintaxă de comandă bcp:

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

Aceasta produce următoarea ieșire:

C: > bcp inventory.dbo.fructe în "C: fruit inventory.txt" -c -T

Se începe copia …

36 rânduri copiate.

Dimensiunea pachetului de rețea (octeți): 4096

Ceas Timp (ms.) Total: 16 În medie: (2250,00 rânduri pe secundă)

C: >

S-ar putea să fi observat două opțiuni noi pe acea linie de comandă. Opțiunea -c specifică faptul că formatul fișierului fișierului de import va fi text delimitat de tab-uri cu fiecare înregistrare pe o linie nouă. Opțiunea -T specifică faptul că bcp ar trebui să utilizeze autentificarea Windows pentru a se conecta la baza de date.

Exemplu de export BCP

Puteți exporta datele din baza de date cu bcp schimbând direcția operației de la "in" la "out". De exemplu, puteți să anulați conținutul tabelului de fructe într-un fișier text cu următoarea comandă:

bcp inventory.dbo.fruits afișează "C: fruit inventory.txt" -c -T

Iată cum arată acest lucru pe linia de comandă:

C: > bcp inventory.dbo.fructe afară "C: fruit inventory.txt" -c -T

Se începe copia …

42 rânduri copiate.

Dimensiunea pachetului de rețea (octeți): 4096

Ceas Timp (ms.) Total: 1 Media: (42000.00 rânduri pe secundă)

C: >

Asta e tot ce este la comanda bcp. Puteți utiliza această comandă din fișiere batch sau alte programe cu acces la linia de comandă DOS pentru a automatiza importul și exportul de date din baza de date SQL Server.