SQL Server BCP -Dienstprogramm

SQL Server BCP -Dienstprogramm

SQL Server ist eine der umfangreichsten und robustesten SQL -Datenbanken der Moderne. Es kann nicht nur lächerliche Datenmengen verarbeiten, sondern bietet auch leistungsstarke Tools, die die Arbeit mit SQL -Datenbanken erleichtern und sehr angenehm sind.

Dieser Beitrag behandelt eines dieser Tools im SQL Server -Ökosystem. BCP -Dienstprogramm. Wir werden das BCP -Dienstprogramm, die Installation und verschiedene Szenarien diskutieren, die Sie verwenden können.

Lassen Sie uns hineinspringen.

Was ist das BCP -Dienstprogramm??

Bulk Copy Program (kurz BCP.

Im Folgenden finden Sie einige der Aktionen, die Sie mit dem BCP -Dienstprogramm in SQL Server ausführen können:

  1. Massendaten exportieren von einer Tabelle zu einer bestimmten Datendatei in einem definierten Format.
  2. Massendaten exportieren von einer Abfrage zu einer festgelegten Datendatei.
  3. Buk -Daten importieren von Datendatei in eine SQL Server -Tabelle.

Ein weiterer Vorteil des BCP-Dienstprogramms besteht darin, dass Sie nicht mit dem Befehl transact-sql vertraut sind. Wenn Sie jedoch Daten aus einer Abfrage unter Verwendung des Abfrageparameters exportieren, müssen Sie die Befehle von Transact-SQL verwenden.

Installation des BCP -Dienstprogramms in Windows

Abhängig vom installierten SQL -Server und der Installationsmethode müssen Sie möglicherweise das BCP -Dienstprogramm manuell installieren. Laden Sie zum Installieren das BCP -Dienstprogramm aus dem folgenden Link herunter:

https: // gehen.Microsoft.com/fwlink/?linkId = 2142258 (x64)

https: // gehen.Microsoft.com/fwlink/?linkId = 2142257 (x86)

Hinweis: Die Befehlszeilen von SQL Server werden standardmäßig in SQL Server 2019 und höher verpackt.

Öffnen Sie nach dem Download das Installationspaket und klicken Sie auf Weiter, um den Prozess zu beginnen.

Akzeptieren Sie die bereitgestellte Softwarelizenz und fahren Sie fort.

Setzen Sie schließlich die Installationsoption für das Installationsprogramm, um die Befehlszeilen von SQL Server auf Ihrem Computer einzurichten.

Um zu bestätigen, dass das BCP -Dienstprogramm verfügbar ist, starten Sie die Eingabeaufforderung und führen Sie den Befehl aus:

BCP -v

Der Befehl gibt die installierte BCP -Version als:

BCP - Bulk Copy -Programm für Microsoft SQL Server.
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
Version: 15.0.2000.5

Führen Sie den Befehl BCP ohne Parameter aus, um alle Befehlsoptionen anzuzeigen:

$ BCP

Ausgang:

Verwendung: BCP DBTable | Abfrage in | raus | Abfrage | Format Datendatei
[-m maxeerrors] [-f Formatfile] [-e errfile]
[-F firstrow] [-l lastrow] [-b batchsize]
[-n nativer Typ] [-C-Zeichenstyp] [-W breiter Zeichenstyp]
[-N nicht-text-native] [-V-Dateiformatversion] [-Q zitierte Kennung]
[-C-Code-Seitenspezifizierer] [-T-Feld Terminator] [-R Zeilen-Terminator]
[-i InputFile] [-O-Outfile] [-a packetSize]
[-S-Servername] [-U Benutzername] [-P-Passwort]
[-T vertrauenswürdige Verbindung] [-v Version] [-R Regional Enable]
[-K halten null Werte] [-e Identitätswerte halten] [-G Azure Active Directory Authentifizierung]
[-h "Hinweise laden"] [-x generieren XML-Formatdatei]]
[-D-Datenbankname] [-K-Anwendungsabsicht] [-l Anmeldezeitlimitum]

Der Befehl bietet umfangreiche Optionen und Parameter für verschiedene Vorgänge, die Sie ausführen möchten.

SQL Server -Exporttabelle zu Datendatei mithilfe des BCP -Dienstprogramms zur Datendatei

Das folgende Beispiel zeigt die Verwendung des BCP -Dienstprogramms zum Exportieren der Tabelleneinträge aus der Resolver -Datenbank. Der Befehl speichert die Tabelle in den Einträgen.DAT -Datendatei.

BCP -Einträge "C: \ Benutzer \ Benutzer \ Dokumente \ Einträge.dat "-c -t -d resolver -u userername -t

Lassen Sie uns die Optionen im obigen Befehl aufschlüsseln.

Wir beginnen damit, das BCP -Dienstprogramm zu berufen, gefolgt vom Namen der Tabelle, die wir exportieren möchten.

  1. Mit dem Out -Parameter können wir den Pfad zur Datendatei angeben.
  2. -C ermöglicht es dem Dienstprogramm, den Exportbetrieb mit dem Charakterdatentyp durchzuführen. Dies wird nur für Speichertypen ohne Präfixe und mit dem \ t als Trennzeichen verwendet.
  3. -t gibt den Feldterminator an.
  4. -D legt den Zieldatenbanknamen fest.
  5. -U der Benutzername, der zur Verbindung zum Server verwendet werden soll.
  6. -T verwenden Sie eine vertrauenswürdige Verbindung.

Der obige Befehl sollte die Ausgabe als:

Startkopie…
6 Zeilen kopiert.
Netzwerkpaketgröße (Bytes): 4096
Uhrzeit (MS.) Gesamt: 1 Durchschnitt: (6000.00 Zeilen pro Sekunde.)

Stellen Sie sicher, dass der Pfad zur Zieldatendatei vorhanden ist.

SQL Server exportieren Sie die Ergebnisse einer Abfrage in die Datendatei

Wir können auch die Ergebnisse einer bestimmten Abfrage exportieren, wie in der folgenden Beispielabfrage gezeigt:

BCP 'SELECT * Aus Einträgen' Abfrage "C: \ Benutzer \ Benutzer \ Dokumente \ Abfrage.Daten "-t -d Resolver -c -t

Mit der Option Abfragen können wir das Ergebnis einer Transact-SQL-Abfrage in einer angegebenen Datei speichern. Wir schließen die Abfrage ein, die wir in zwei Anführungszeichen ausführen möchten, um Konflikte mit den Parametern des BCP -Befehls zu vermeiden.

SQL Server -Datendatei importieren Sie die Tabelle

Wenn Sie eine Datendatei haben, können Sie sie wie unten dargestellt in eine oder andere Tabelle importieren.

Erstellen Sie zunächst eine einfache Datenbank.

Datenbank fallen, wenn existiert BCP_DEMO;
Datenbank erstellen bcp_demo;
VAE bcp_demo;

Erstellen Sie anschließend eine Tabelle mit einer ähnlichen Struktur wie die Daten in der Datei:

Erstellen Sie Tabellenproben (
Id int nicht null Identität (1,
1) Primärschlüssel,
server_name varchar (50),
server_address varchar (255) nicht null,
compression_method varchar (100) Standard 'Keine',
size_on_disk float nicht null,
size_compressed Float,
Total_records int nicht null,
init_date Datum
);

Importieren Sie schließlich die Datendatei in die Tabelle als:

BCP BCP_DEMO.DBO.Beispiele in 'c: \ user \ user \ documents \ Einträge.dat '-c -t

Dies sollte die Daten aus der Datendatei in die Tabelle einholen. Ein Beispielausgang:

Startkopie…
SQLState = S1000, NativeError = 0
Error = [microsoft] [ODBC-Treiber 17 für SQL Server] Unerwartetem EOF in BCP-Daten-File aufgetreten
0 Zeilen kopiert.
Netzwerkpaketgröße (Bytes): 4096
Uhrzeit (MS.) Gesamt: 1

Und Sie haben die Daten erfolgreich aus der Datendatei importiert.

Ende der Reise

In diesem Artikel wurden Ihnen die Grundlagen der Verwendung des BCP -Dienstprogramms zum Import- und Exportieren von Daten in und von SQL Server -Instanzen und Datendateien beigebracht.

Vielen Dank, dass Sie einen Spaziergang mit uns in den BCP -Dienstprogrammfunktionen gemacht haben. Fühlen Sie sich frei, die Dokumente zu erkunden, um umfangreichere Informationen zu erhalten. Wir sehen uns bei der nächsten.