Specifying Prefix Length in Data Files

Zapewnienie najbardziej compact przechowywania plików eksport masowy danych w format macierzysty z plikiem danych BCP polecenia poprzedza każdego pole z jednego lub kilku znaków, które wskazuje długość pole.Znaki te są nazywane długość prefiksu znaków.

Monituj długość prefiksu bcp

Jeśli interaktywne BCP polecenie zawiera w or limit czasu opcję bez pliku przełącznik formatu (-f) lub przełącznika formatu danych (-n, -c, -w, lub -N), wiersze polecenia długości prefiksu danych każdego pole w następujący sposób:

Enter prefix length of field <field_name> [<default>]:

Po określeniu wartości 0, BCP monituje o długości pole (o typie danych znak) lub terminator pole (dla typu macierzystego-znakowy).Na przykład, że tego monitu w kontekście zobacz Specifying Data Formats for Compatibility by Using bcp.

Uwaga

Po interaktywnie określeniu wszystkich pole w BCP polecenie, zapisać swoje odpowiedzi dla każdego pole w pliku formatu XML inny niż monity o wprowadzenie polecenia.Aby uzyskać więcej informacji na temat plików w formacie XML inny niż zobacz Understanding Non-XML Format Files.

Omówienie długość prefiksu

Aby zapisać długość prefiksu pole, należy enoughf bajtów do reprezentowania maksymalną długość pole.Liczba bajtów, które są wymagane również zależy od typu magazynu plików opcje dopuszczania wartości null kolumna, oraz czy dane są przechowywane w pliku danych w jej formacie macierzystym lub znakowe.Na przykład text lub image Typ danych wymaga czterech znaki prefiksu do przechowywania długość pole, ale varchar Typ danych wymaga dwóch znaków. W pliku danych tych znaków długości prefiksu są przechowywane w formacie wewnętrzne dane binarne SQL Server.

Important noteImportant Note:

Korzystając z format macierzysty, należy użyć prefiksów długości, a nie pole terminatory.Dane w format macierzysty mogą kolidować z terminatory, ponieważ plik danych w format macierzysty jest przechowywany w SQL Server format wewnętrzny dane binarne.

Prefiks długości eksport masowy

Uwaga

Domyślną wartość, która znajduje się w wierszu długość prefiksu podczas eksportowania pole wskazuje, najbardziej efektywny długość prefiksu dla pole.

Wartości Null są przedstawiane jako puste pole.Aby wskazać, że pole jest puste (reprezentuje wartość NULL), prefiks pole zawiera wartość -1; to znaczy wymaga co najmniej 1 bajt.Należy zauważyć, że jeśli SQL Server Kolumna tabela zezwala na wartości null, kolumna wymaga długość prefiksu 1 lub większy, w zależności od typu pliku magazynu.

Gdy zbiorczego eksportowania danych i przechowywać go w macierzyste typy danych lub formatu znaków, za pomocą długości prefiksu pokazane w poniższej tabela.

SQL Server

Typ danych

Format macierzysty

NIEDOZWOLONE WARTOŚCI NULL

Format macierzysty

WARTOŚCI NULL

Formatowanie znaków

NIEDOZWOLONE WARTOŚCI NULL

Formatowanie znaków

WARTOŚCI NULL

char

2

2

2

2

varchar

2

2

2

2

nchar

2

2

2

2

nvarchar

2

2

2

2

text1

4

4

4

4

ntext1

4

4

4

4

binary

2

2

2

2

varbinary

2

2

2

2

image1

4

4

4

4

datetime

0

1

0

1

smalldatetime

0

1

0

1

decimal

1

1

1

1

numeric

1

1

1

1

float

0

1

0

1

real

0

1

0

1

int

0

1

0

1

bigint

0

1

0

1

smallint

0

1

0

1

tinyint

0

1

0

1

money

0

1

0

1

smallmoney

0

1

0

1

bit

0

1

0

1

uniqueidentifier

1

1

0

1

timestamp

1

1

1

1

varchar(max)

8

8

8

8

varbinary(max)

8

8

8

8

UDT (typ danych zdefiniowany przez użytkownika)

8

8

8

8

XML

8

8

8

8

1 The ntext, text, a image typy danych, zostanie on usunięty w przyszłej wersja programu SQL Server. Należy unikać stosowania tych typów danych w nowej pracy rozwoju i zaplanować do modyfikowania aplikacji, które aktualnie używają ich.Użycie nvarchar(max), varchar(max), a varbinary(max) w zamian. Aby uzyskać więcej informacji zobaczUsing Large-Value Data Types.

Aby uzyskać więcej informacji zobacz Storage of Data in Character Format.

Prefiks długości dla import zbiorczy

Gdy dane są importowane zbiorczej, długość prefiksu to wartość, która została określona podczas tworzenia pliku danych pierwotnie.Jeśli plik danych nie został utworzony za pomocą BCP polecenie, długość prefiksu znaków prawdopodobnie nie istnieje.W takim przypadku należy określić 0 dla długość prefiksu.

Uwaga

Aby określić długość prefiksu w pliku danych, która nie została utworzona przy użyciu BCP, stosowanie długości zawarte w "Prefiks długości dla eksport masowy," we wcześniejszej części tego tematu.