Udostępnij za pośrednictwem


Określanie długości prefiksu w plikach danych

Aby zapewnić najbardziej compact przechowywania plików dla eksport zbiorczy danych w format macierzysty do pliku danych, bcp polecenia poprzedza każdego pole z jednego lub kilku znaków wskazuje długość pole.Znaki te są nazywane długość znaki prefiksu.

Monituj o długości prefiksu bcp

Jeśli interakcyjne bcp zawiera polecenia w lub się opcji bez przełącznik plik formatu (-f) lub przełącznik formatu danych (- n, - c, -w, lub -N), wierszy poleceń dla długość prefiksu każdego pole danych w następujący sposób:

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

Jeśli zostanie określona wartość 0, bcp monituje o podanie albo długość pole (dla typu danych znak) lub terminator pola (dla typu macierzystego bez znaku).Na przykład, która pokazuje Monituj w kontekście, zobacz Określanie formatów danych dla zgodności przez używanie bcp.

Ostrzeżenie

Po interaktywnie określić wszystkie pole w bcp polecenia wierszy polecenia Zapisz swoje odpowiedzi dla każdego pole w innych niż XML plik formatu.Aby uzyskać więcej informacji dotyczących plików w formacie XML programu, zobacz Opis plików w formacie XML programu.

Omówienie długość prefiksu

Aby przechowywać 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 pliku opcje dopuszczania wartości null kolumna, i czy dane są przechowywane w pliku danych w formacie macierzystym lub znakowe.Na przykład text lub image typu danych wymaga czterech znaki prefiksu do przechowywania długość pole, ale varchar Typ danych wymaga dwóch znaków.W pliku danych tych długości -znaki prefiksu są przechowywane w formacie wewnętrznym dane binarne SQL Server.

Ważna informacjaWażne:

Format macierzysty, używać długość prefiksy, zamiast pole terminatory.Ponieważ plik danych w formacie macierzystym jest przechowywany w formacie macierzystym danych może powodować konflikt z terminatory SQL Server format wewnętrzne dane binarne.

Prefiks długości na wywóz luzem

Ostrzeżenie

Wartość domyślna, przewidziana w wierszu długość prefiksu podczas eksportowania pole wskazuje najbardziej efektywne długość prefiksu dla pola.

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

Gdy użytkownik eksport zbiorczy danych i przechowywać użyć go w macierzyste typy danych lub formatu znaków długości prefiksu pokazane w poniższej tabela.

SQL Server

typ danych

Format macierzysty

NOT NULL

Format macierzysty

NULL

Formatowanie znaków

NOT NULL

Formatowanie znaków

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 ntext, text, I image typów danych zostaną usunięte w przyszłej wersja SQL Server.Należy unikać tych typów danych w nowej pracy rozwoju i planu do modyfikowania aplikacji, które używają obecnie.Use nvarchar(max), varchar(max), and varbinary(max) instead.Aby uzyskać więcej informacji, zobacz Duża wartość typów danych.

Aby uzyskać więcej informacji, zobacz Przechowywanie danych w formacie znaków.

Prefiks długości dla importu zbiorczego

Gdy dane są importowane luzem, długość prefiksu jest wartość, która została określona podczas pierwotnie utworzono plik danych.Jeśli plik danych nie został utworzony przez bcp polecenia długość znaki prefiksu prawdopodobnie nie istnieje.W tym wystąpienie, określić długość prefiksu 0.

Ostrzeżenie

Aby określić długość prefiksu w pliku danych, który nie został utworzony za pomocą bcp, użyj długości w "Prefiks długości dla masowych wywóz," wcześniej w tym temacie.