MSDN Library
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Angeben von Datenformaten für die Kompatibilität bei Verwendung von bcp (SQL Server)

 

Betrifft: SQL Server 2016

<_caps3a_sxs _xmlns3a_caps="http://schemas.microsoft.com/build/caps/2013/11"><_caps3a_sxstarget locale="de-DE">In diesem Thema werden die Datenformatattribute, feldspezifischen Eingabeaufforderungen und das Speichern von Feld-nach-Feld-Daten in einer Formatdatei, die keine XML-Datei ist, des SQL Server bcp-Befehls beschrieben. Das Verständnis dieser Konzepte kann für Sie nützlich sein, wenn Sie SQL Server-Daten für den Massenimport in ein anderes Programm, z. B. ein anderes Datenbankprogramm, mit einem Massenexportvorgang exportieren. Die Standarddatenformate in (systemeigen, Zeichen oder Unicode) der Quelltabelle können mit dem vom anderen Programm erwarteten Datenlayout inkompatibel sein. Falls eine Inkompatibilität vorliegt, müssen Sie beim Exportieren von Daten das Datenlayout beschreiben.Falls Sie mit den Datenformaten zum Importieren oder Exportieren von Daten nicht vertraut sind, finden Sie weitere Informationen unter Data Formats for Bulk Import or Bulk Export (SQL Server).In diesem Thema:bcp-DatenformatattributeÜbersicht über die feldspezifischen EingabeaufforderungenSpeichern von feldspezifischen Daten in einer Nicht-XML-Formatdateibcp-DatenformatattributeMit dem bcp-Befehl können Sie die Struktur jedes Felds in einer Datendatei im Hinblick auf die folgenden Datenformatattribute angeben:DateispeichertypDer Dateispeichertyp beschreibt, wie Daten in der Datendatei gespeichert werden. Daten können in eine Datendatei als Typ der Datenbanktabelle (systemeigenes Format), als Zeichendarstellung (Zeichenformat) oder als beliebiger Datentyp, bei dem die implizite Konvertierung unterstützt wird, exportiert werden. Beispielsweise kann ein smallint als ein int kopiert werden. Benutzerdefinierte Datentypen werden als Basistypen exportiert. Weitere Informationen finden Sie unter Specify File Storage Type by Using bcp.PräfixlängeAls kompakteste Form der Dateispeicherung beim Massenexportieren von Daten im nativen Format in eine Datendatei setzt der Befehl bcp mindestens ein Zeichen, das auf die Länge des Felds hinweist, vor jedes Feld. Diese Zeichen werden als Längenpräfixzeichen bezeichnet. Weitere Informationen finden Sie unter Specify Prefix Length by Using bcp.FeldlängeDie 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 Specify Field Length by Using bcp.Feldabschlusszeichen Für Zeichendatenfelder kann mit optionalen abschließenden Zeichen das Ende jedes Felds in einer Datendatei (mithilfe eines Feldabschlusszeichens) und das Ende jeder Zeile (mithilfe eines Zeilenabschlusszeichens) markiert werden. 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 Specify Field and Row Terminators.[Nach oben]Übersicht über die feldspezifischen EingabeaufforderungenWenn ein interaktiver bcp-Befehl die Option in oder out, jedoch keinen Formatdateischalter (-f) bzw. keinen Datenformatschalter (-n, -c, -w oder -N) für die Spalten der Quell- oder Zieltabelle enthält, fordert der Befehl zur Eingabe der vorherigen Attribute auf. Für jede Eingabeaufforderung stellt der bcp-Befehl einen Standardwert basierend auf dem SQL Server-Datentyp der Tabellenspalte bereit. Wenn Sie den Standardwert für alle Eingabeaufforderungen übernehmen, erhalten Sie dieselben Ergebnisse wie beim Angeben des systemeigenen Formats (-n) in der Befehlszeile. Für jede Eingabeaufforderung wird ein Standardwert in eckigen Klammern angezeigt: [default]. Durch Drücken der EINGABETASTE wird der angezeigte Standardwert übernommen. Wenn Sie einen Wert angeben möchten, der vom Standardwert abweicht, geben Sie den neuen Wert an der Eingabeaufforderung ein.BeispielIm folgenden Beispiel werden mit dem bcp-Befehl Daten aus der HumanResources.myTeam-Tabelle interaktiv in die Datei myTeam.txt massenexportiert. Bevor Sie das Beispiel ausführen können, müssen Sie diese Tabelle erstellen. Weitere Informationen zu dieser Tabelle und zur Vorgehensweise zum Erstellen dieser Tabelle finden Sie unter Creating the HumanResources.myTeam Table.Der Befehl gibt weder eine Formatdatei noch einen Datentyp an, weshalb bcp zur Eingabe von Datenformatinformationen auffordert. Geben Sie an der Eingabeaufforderung von Microsoft Windows Folgendes ein:bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -Tbcp fordert für jede Spalte 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 Spalten EmployeeID und Name betragen 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]:,...Gleichwertige Eingabeaufforderungen (soweit erforderlich) werden für jede Tabellenspalte angezeigt.[Nach oben]Speichern von feldspezifischen Daten in einer Nicht-XML-FormatdateiNachdem alle Tabellenspalten angegeben wurden, werden Sie vom bcp-Befehl gefragt, ob optional eine Nicht-XML-Formatdatei generiert werden soll, in der die gerade eingegebenen feldspezifischen Informationen gespeichert werden (siehe vorheriges Beispiel). Wenn Sie eine Formatdatei generieren, können Sie diese beim Exportieren von Daten aus dieser Tabelle oder Importieren identisch strukturierter Daten in SQL Server verwenden.Mithilfe der Formatdatei können Sie Daten aus der Datendatei in eine Instanz von SQL Server massenimportieren oder Daten aus der Tabelle massenexportieren, ohne das Format erneut angeben zu müssen. Weitere Informationen finden Sie unter Format Files for Importing or Exporting Data.Das folgende Beispiel erstellt die Nicht-XML-Formatdatei myFormatFile.fmt:Do you want to save this format information in a file? [Y/n] yHost filename: [bcp.fmt]myFormatFile.fmtDer Standardname der Formatdatei ist bcp.fmt, Sie können aber einen anderen Dateinamen angeben.Für eine Datendatei, die ein einziges Datenformat für den Dateispeichertyp verwendet, wie z. B. das Zeichenformat oder das systemeigene Format, können Sie mit der Option format schnell eine Formatdatei erstellen, ohne Daten zu exportieren oder zu importieren. Diese Vorgehensweise hat den Vorteil, dass sie einfach ist und die Möglichkeit bietet, eine XML-Formatdatei oder eine Nicht-XML-Formatdatei zu erstellen. Weitere Informationen finden Sie unter Creating a Format File.[Nach oben]Verwandte AufgabenSpecify File Storage Type by Using bcp Specify Prefix Length by Using bcp Specify Field Length by Using bcp Specify Field and Row Terminators Verwandte InhalteKeine.Import and Exporti Bulk Data (SQL Server) Data Formats for Bulk Import or Bulk Export (SQL Server) bcp Utility Data Types (Transact-SQL) <_caps3a_sxssource locale="en-US">This topic describes the data-format attributes, field-specific prompts, and storing field-by-field data in a non-xml format file of the SQL Server bcp command. Understanding these can be helpful when you bulk export SQL Server data for bulk import into another program, such as another database program. The default data formats (native, character, or Unicode) in the source table might be incompatible with the data layout expected by the other program If an incompatibility exists, when you export the data, you must describe the data layout.If you are unfamiliar with data formats for importing or exporting data, see Data Formats for Bulk Import or Bulk Export (SQL Server).In This Topic:bcp Data-Format AttributesOverview of the Field-Specific PromptsStoring Field-by-Field Data in a Non-XML Format Filebcp Data-Format AttributesThe bcp command allows you to specify the structure of each field in a data file in terms of the following data-format attributes:File storage typeThe file storage type describes how data is stored in the data file. Data can be exported to a data file as its database table type (native format), in its character representation (character format), or as any data type where implicit conversion is supported; for example, copying a smallint as an int. User-defined data types are exported as their base types. For more information, see Specify File Storage Type by Using bcp.Prefix lengthTo provide the most compact file storage for the bulk export of data in native format to a data file, the bcp command precedes each field with one or more characters that indicates the length of the field. These characters are called length prefix characters. For more information, see Specify Prefix Length by Using bcp.Field lengthThe field length indicates the maximum number of characters that are required to represent data in character format. The field length is already known if the data is stored in the native format. For more information, see Specify Field Length by Using bcp.Field terminator For character data fields, optional terminating characters allow you to mark the end of each field in a data file (using a field terminator) and the end of each row (using a row terminator). Terminating characters are one way to indicate to programs reading the data file where one field or row ends and another begins. For more information, see Specify Field and Row Terminators.[Top]Overview of the Field-Specific PromptsIf an interactive bcp command contains the in or out option but does not also contain either the format file switch (-f) or a data-format switch (-n, -c, -w, or -N), each column in the source or target table, the command prompts for each of the preceding attributes, in turn. In each prompt, the bcp command provides a default value based on the SQL Server data type of the table column. Accepting the default value for all of the prompts produces the same result as specifying native format (-n) on the command line. Each prompt displays a default value in brackets: [default]. Pressing ENTER accepts the displayed default. To specify a value other than the default, enter the new value at the prompt.ExampleThe following example uses the bcp command to bulk export data from the HumanResources.myTeam table interactively to the myTeam.txt file. Before you can run the example, you must create this table. For information about the table and how to create it, see Creating the HumanResources.myTeam Table.The command specifies neither a format file nor a data type, causing bcp to prompt for data-format information. At the Microsoft Windows command prompt, enter:bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -TFor each column, bcp prompts for field-specific values. The following example shows the field-specific prompts for the EmployeeID and Name columns of the table, and suggests the default file storage type (the native format) for each column. The prefix lengths of the EmployeeID and Name column are 0 and 2, respectively. The user specifies a comma (,) as the terminator of each field.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]:,...Equivalent prompts (as needed) are displayed for each of the table columns in order.[Top]Storing Field-by-Field Data in a Non-XML Format FileAfter all of the table columns are specified, the bcp command prompts you to optionally generate a non-XML format file that stores the field-by-field information just supplied (see the preceding example). If you choose to generate a format file, you can whenever you export data out of that table or import like-structured data into SQL Server.You can use the format file to bulk import data from the data file into an instance of SQL Server or to bulk export data from the table, without needing to respecify the format. For more information, see Format Files for Importing or Exporting Data.The following example creates a non-XML format file named myFormatFile.fmt:Do you want to save this format information in a file? [Y/n] yHost filename: [bcp.fmt]myFormatFile.fmtThe default name for the format file is bcp.fmt, but you can specify a different file name if you choose.For a data file that uses a single data format for its file-storage type, such as character or native format, you can quickly create a format file without exporting or importing data by using the format option. This approach has the advantages of being easy and of allowing you to create either an XML format file or a non-XML format file. For more information, see Creating a Format File.[Top]Related TasksSpecify File Storage Type by Using bcp Specify Prefix Length by Using bcp Specify Field Length by Using bcp Specify Field and Row Terminators Related ContentNone.Import and Exporti Bulk Data (SQL Server) Data Formats for Bulk Import or Bulk Export (SQL Server) bcp Utility Data Types (Transact-SQL)

Community-Beiträge

Anzeigen:
© 2016 Microsoft