Εισαγωγή και εξαγωγή δεδομένων SQL Server από τη γραμμή εντολών με Bcp

Ο Bcp είναι ο γρηγορότερος τρόπος για να έχετε δεδομένα σε μια βάση δεδομένων

Η εντολή bulk copy (bcp) του Microsoft SQL Server σας δίνει τη δυνατότητα να εισάγετε μεγάλους αριθμούς αρχείων απευθείας από τη γραμμή εντολών. Εκτός από το ότι είναι ένα χρήσιμο εργαλείο για aficionados γραμμής εντολών, το βοηθητικό πρόγραμμα bcp είναι ένα ισχυρό εργαλείο για όσους επιδιώκουν να εισάγουν δεδομένα σε μια βάση δεδομένων του SQL Server από ένα αρχείο δέσμης ή άλλη προγραμματική μέθοδο. Υπάρχουν πολλοί τρόποι για να λάβετε δεδομένα σε μια βάση δεδομένων, αλλά το bcp είναι το ταχύτερο όταν έχει ρυθμιστεί με τις σωστές παραμέτρους.

bcp Σύνταξη

Η βασική σύνταξη για τη χρήση του bcp είναι:

bcp

όπου τα επιχειρήματα λαμβάνουν τις ακόλουθες τιμές:

Παράδειγμα εισαγωγής bcp

Για να το βάλετε όλα μαζί, φανταστείτε ότι έχετε έναν πίνακα καρπών στη βάση δεδομένων του αποθέματός σας και θέλετε να εισαγάγετε όλες τις εγγραφές από ένα αρχείο κειμένου που είναι αποθηκευμένο στον σκληρό σας δίσκο σε αυτή τη βάση δεδομένων. Θα χρησιμοποιούσατε την ακόλουθη σύνταξη εντολών bcp:

bcp inventory.dbo.fruits στο "C: \ fruit \ inventory.txt" -c -T

Αυτό παράγει την ακόλουθη έξοδο:

C: \> bcp inventory.dbo.fruits στο "C: \ fruit \ inventory.txt" -c -T Έναρξη αντιγραφής ... 36 γραμμές αντιγραμμένες. Μέγεθος πακέτου δικτύου (bytes): 4096 Ώρα ρολογιού (ms.) Σύνολο: 16 Μέσος όρος: (2250.00 γραμμές ανά δευτερόλεπτο) C: \>

Μπορεί να έχετε παρατηρήσει δύο νέες επιλογές σε αυτή τη γραμμή εντολών. Η επιλογή -c καθορίζει ότι η μορφή αρχείου του αρχείου εισαγωγής θα είναι κείμενο με οριοθέτηση καρτελών με κάθε εγγραφή σε μια νέα γραμμή. Η επιλογή -T καθορίζει ότι το bcp πρέπει να χρησιμοποιεί έλεγχο ταυτότητας των Windows για να συνδεθεί στη βάση δεδομένων.

Παράδειγμα εξαγωγής bcp

Μπορείτε να εξάγετε δεδομένα από τη βάση δεδομένων σας με bcp αλλάζοντας την κατεύθυνση της λειτουργίας από "in" σε "out". Για παράδειγμα, μπορείτε να αφαιρέσετε τα περιεχόμενα του πίνακα καρπών σε ένα αρχείο κειμένου με την ακόλουθη εντολή:

bcp inventory.dbo.fruits έξω "C: \ fruit \ inventory.txt" -c -T

Δείτε πώς φαίνεται αυτό στη γραμμή εντολών:

C: \> bcp inventory.dbo.fruits έξω "C: \ fruit \ inventory.txt" -c -T Έναρξη αντιγραφής ... 42 γραμμές αντιγραμμένες. Μέγεθος πακέτου δικτύου (bytes): 4096 Ώρα ρολογιού (ms.) Σύνολο: 1 Μέσος όρος: (42000.00 γραμμές ανά δευτερόλεπτο) C: \>

Αυτό είναι όλο που υπάρχει στην εντολή bcp. Μπορείτε να χρησιμοποιήσετε αυτήν την εντολή από αρχεία δέσμης ή άλλα προγράμματα με πρόσβαση στη γραμμή εντολών DOS για να αυτοματοποιήσετε την εισαγωγή και την εξαγωγή δεδομένων από τη βάση δεδομένων SQL Server.