Skip to main content

Χρησιμοποιώντας το bcp για την εισαγωγή και εξαγωγή δεδομένων από τον SQL Server

Sqoop Import and Export data from RDMBS and HDFS (Ενδέχεται 2024)

Sqoop Import and Export data from RDMBS and HDFS (Ενδέχεται 2024)
Anonim

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

Σύνταξη BCP

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

bcp

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

  • Table_name είναι το πλήρες όνομα του πίνακα. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το inventory.dbo.fruits για να εισαγάγετε εγγραφές στον πίνακα καρπών που ανήκει στον κάτοχο της βάσης δεδομένων στη βάση δεδομένων απογραφής.
  • Κατεύθυνση υποδηλώνει εάν θέλετε να εισαγάγετε δεδομένα ("προς την κατεύθυνση") ή να εξάγετε (κατεύθυνση "εκτός").
  • Ονομα αρχείου είναι η πλήρης διαδρομή προς το αρχείο. Για παράδειγμα, μπορείτε να εισαγάγετε το αρχείο C: fruit inventory.txt.
  • Επιλογές σας επιτρέπουν να ορίσετε παραμέτρους για τη λειτουργία χύδην. Για παράδειγμα, μπορείτε να καθορίσετε τον μέγιστο αριθμό σφαλμάτων που επιτρέπονται με την επιλογή -m. Μπορείτε επίσης να χρησιμοποιήσετε την επιλογή -x για να καθορίσετε μια μορφή αρχείου XML. Συμβουλευθείτε την τεκμηρίωση bcp της Microsoft για μια πλήρη λίστα.

Παράδειγμα εισαγωγής 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.