Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Datenbank in Microsoft Fabric
Dieser Artikel beschreibt die Datenformatattribute, feldspezifische Eingabeaufforderungen und wie man feldweise Daten in einer nicht-XML-Datei des bcp Programms speichert. Diese Informationen können helfen, wenn Sie SQL Server-Daten in großen Mengen exportieren, um sie in ein anderes Programm, zum Beispiel in ein anderes Datenbankprogramm, zu importieren. Die Standarddatenformate (native, Zeichen oder Unicode) in der Quelltabelle könnten mit dem vom anderen Programm erwarteten Datenlayout inkompatibel sein. Wenn eine Inkompatibilität besteht, müssen Sie das Datenlayout beim Exportieren der Daten beschreiben.
Hinweis
Weitere Informationen zu Datenformaten zum Import oder Exportieren von Daten finden Sie unter Datenformate für Massenimport oder Massenexport.
BCP-Datenformatattribute
Verwenden Sie bcp, um die Struktur jedes Felds in einer Datendatei mithilfe der folgenden Datenformatattribute anzugeben:
Dateispeichertyp
Der Dateispeichertyp beschreibt, wie Daten in der Datendatei gespeichert werden. Sie können Daten in eine Datendatei im Format des Datenbanktabellentyps (natives Format), in der Zeichendarstellung (Zeichenformat) oder als beliebigen Datentyp exportieren, der eine implizite Konvertierung unterstützt. Zum Beispiel kannst du einen smallint als int kopieren. Benutzerdefinierte Datentypen werden als ihre Basistypen exportiert. Für weitere Informationen siehe Dateispeichertyp mit bcp angeben.
Präfixlänge
Um den kompaktesten Dateispeicher für den Massenexport von Daten im nativen Format in eine Datendatei bereitzustellen,
bcpwird jedem Feld ein oder mehrere Zeichen vorausgestellt, die die Länge des Feldes anzeigen. Diese Zeichen werden als Längenpräfixzeichen bezeichnet. Weitere Informationen finden Sie unter Angeben der Präfixlänge in Datendateien mithilfe von bcp.Feldlänge
Die Feldlänge weist auf die maximale Anzahl von Zeichen hin, die zum Darstellen der Daten im Zeichenformat benötigt werden. Die Feldlänge ist bereits bekannt, wenn die Daten im systemeigenen Format gespeichert werden. Weitere Informationen finden Sie unter Feldlänge mithilfe von bcp angeben.
Feldtrennzeichen
Bei Zeichendatenfeldern ermöglichen optionale Abschlusszeichen das Markieren des Endes jedes Feldes in einer Datendatei (mit einem Feldterminator) und das Ende jeder Zeile (mit einem Zeilenterminator). Abschließende Zeichen sind eine Möglichkeit, um Programme, die die Datendatei lesen, darauf hinzuweisen, an welcher Stelle ein Feld oder eine Zeile endet und ein anderes Feld bzw. eine andere Zeile beginnt. Weitere Informationen finden Sie unter Feld- und Zeilenabschlusszeichen angeben.
Überblick über die bereichsspezifischen Prompts
Wenn Sie out interaktiv mit der Option bcp oder -f ausführen, aber weder den Formatdateischalter (-n) noch für jede Spalte der Quell- oder Zieltabelle einen Datenformatschalter (-c, -w, -N oder bcp) angeben, fordert in der Reihe nach zur Eingabe aller vorstehenden Attribute auf. In jeder Eingabeaufforderung stellt bcp einen Standardwert auf Grundlage des SQL Server-Datentyps der Tabellenspalte bereit. Das Akzeptieren des Standardwerts für alle Eingaben ergibt dasselbe Ergebnis wie die Angabe des nativen Formats (-n) in der Kommandozeile. Für jede Eingabeaufforderung wird ein Standardwert in eckigen Klammern angezeigt: [Standard]. Drücken Sie ENTER, um die angezeigte Standardeinstellung zu akzeptieren. Wenn Sie einen Wert angeben möchten, der vom Standardwert abweicht, geben Sie den neuen Wert an der Eingabeaufforderung ein.
Beispiel
Das folgende Beispiel verwendet bcp den Bulk-Export von Daten aus der HumanResources.myTeam Tabelle interaktiv in die myTeam.txt Datei. Bevor Sie das Beispiel ausführen können, müssen Sie diese Tabelle erstellen. Informationen zur Tabelle und deren Erstellung finden Sie unter HumanResources.myTeam Mustertabelle.
Der Befehl gibt weder eine Formatdatei noch einen Datentyp an, sondern bcp fordert daher Datenformatinformationen an. Geben Sie an der Eingabeaufforderung von Windows Folgendes ein:
bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T
Für jede Spalte fordert bcp zur Eingabe feldspezifischer Werte auf. Das folgende Beispiel zeigt die feldspezifischen Eingabeaufforderungen für die Spalten EmployeeID und Name der Tabelle und schlägt den Standard-Dateispeichertyp (systemeigenes Format) für jede Spalte vor. Die Präfixlängen der EmployeeID und Name der Spalten sind 0 bzw. 2. Der Benutzer gibt ein Komma (,) als Feldabschlusszeichen für jedes Feld an.
Enter the file storage type of field EmployeeID [smallint]:
Enter prefix-length of field EmployeeID [0]:
Enter field terminator [none]:,
Enter the file storage type of field Name [nvarchar]:
Enter prefix length of field Name [2]:
Enter field terminator [none]:,
.
.
.
Entsprechende Eingabeaufforderungen erscheinen bei Bedarf für jede der Tabellenspalten in der Reihenfolge.
Feld-für-Feld-Daten in einer Datei im Nicht-XML-Format speichern
Nachdem du alle Tabellenspalten angegeben hast, bcp fordert sie dich auf, optional eine Datei im Nicht-XML-Format zu generieren, die die gerade eingelieferten Feld-für-Feld-Informationen speichert (siehe das vorherige Beispiel). Wenn du dich entscheidest, eine Formatdatei zu generieren, kannst du sie verwenden, wann immer du Daten aus dieser Tabelle exportierst oder ähnlich strukturierte Daten in den SQL Server importierst.
Hinweis
Mithilfe der Formatdatei können Sie Daten aus der Datendatei in eine Instanz von SQL Server gesammelt importieren oder Daten aus der Tabelle gesammelt exportieren, ohne das Format erneut angeben zu müssen. Weitere Informationen finden Sie unter Dateiformatierung zum Importieren oder Exportieren von Daten.
Das folgende Beispiel erstellt die Nicht-XML-Formatdatei myFormatFile.fmt:
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]myFormatFile.fmt
Der Standardname für die Formatdatei ist bcp.fmt, aber du kannst einen anderen Dateinamen angeben, wenn du möchtest.
Hinweis
Für eine Datendatei, die ein einzelnes Datenformat für ihren Speichertyp verwendet, wie z. B. Zeichen oder natives Format, können Sie schnell eine Formatdatei erstellen, ohne Daten zu exportieren oder zu importieren, indem Sie die format Option verwenden. Dieser Ansatz ist einfach und ermöglicht es, entweder eine XML-Datei oder eine Nicht-XML-Datei zu erstellen. Weitere Informationen finden Sie unter Formatdatei mit bcp erstellen.
Verwandte Aufgaben
- Geben Sie den Dateispeichertyp mit bcp an
- Präfixlänge in Datendateien mit bcp angeben
- Spezifizieren Sie die Feldlänge mit bcp
- Spezifizieren Sie Feld- und Zeilen-Terminatoren