Udostępnij za pośrednictwem


Specifying Field and Row Terminators

Dla pole danych znaków, opcjonalna znaki końca umożliwiają znaku końca każdego pole w pliku danych z terminator pole i na końcu każdego wiersza z wiersz terminator.Znaki końca są jednym ze sposobów wskazują do programów, które odczytywania pliku danych, w którym rozpoczyna się jedno pole lub końców wierszy i innego pola lub wiersza.

Important noteImportant Note:

Jeśli korzystasz z macierzystego lub macierzystym formacie Unicode, za pomocą prefiksy długości, a nie pole terminatory.Native format data can conflict with terminators because a native-format data file is stored in the Microsoft SQL Server internal binary data format.

Obsługiwane jako terminatory znaków

The bcp command, BULK INSERT instrukcja, and the OPENROWSET dostawca zbiorczych zestawów zestaw wierszy support a variety of characters as pole or row terminators and always look for the first wystąpienie of each terminator.Poniższa tabela zawiera listę obsługiwanych znaków dla terminatory.

Znak końca

Wskazany przez

SHIFT +

Zaznacz tekst, aż wiersz po wierszu, licząc od kursor

Jest to domyślne terminator pole.

Znak nowego wiersza

\n

Jest to domyślne terminator wiersza.

CR/LF

\r

Kreska ułamkowa odwrócona1

\\

Terminator Null (nonvisible terminator)2

\0

Dowolnego znaku drukowalnego (kontrola znaki nie są drukowane, z wyjątkiem wartości null, zwraca kartę nowego wiersza i transportu)

(*, A, t, l i tak dalej)

Ciąg o długości do 10 znaków drukowalnych niektórych lub wszystkich terminatory, wymienione wcześniej w tym

(** \t**, zakończenie,!!!!!!!!!!, \t—\n i tak dalej)

1 Tylko t, n, r, znaki 0 i '\0' Praca z znaku anulowania do wyprodukowania znak kontrolny.

2 Mimo, że znak kontrolny null (\0) nie jest widoczny po wydrukowaniu, jest różnych znaków w pliku danych.Oznacza to, że ten znak kontrolny null używając jako pole wiersza lub terminator jest inny niż na wszystkich posiadających nie terminator pole wiersza lub.

Important noteImportant Note:

Jeśli znak terminator występuje w danych, jest interpretowany jako terminator, nie jako danych i danych, po znaku jest interpretowana jako należący do następnego pole lub rekordu.W związku z tym wybierz swoją terminatory uważnie, aby upewnić się, że nigdy nie pojawiają się na danych.

Za pomocą terminatory wierszy

Terminator wiersz może być ten sam znak jak terminator do ostatniego pole.Ogólnie rzecz biorąc jednak terminator różnych wierszy jest użyteczne.Na przykład aby utworzyć tabelaryczny danych wyjściowych, zakończyć ostatniego pole w każdym wierszu znak nowego wiersza (\n) oraz wszystkie inne pole znak tabulacji (\t).Do każdego rekordu danych należy umieścić w osobnym wierszu, w pliku danych, należy określić \r\n kombinacji jako terminator wiersza.

Uwaga

Kiedy używać BCP interaktywnie i określić jako terminator wiersza, \n (nowego wiersza)BCP dodanie prefiksu automatycznie składającego go znakiem \r (powrót karetki), co powoduje terminator wiersza \r\n.

Określanie terminatory eksportowania zbiorcze

Kiedy eksport masowy char lub nchar dane i chcesz użyć terminator inny niż domyślny, należy określić terminator do BCP polecenia.Można określić terminatory w dowolnym z następujących sposobów:

  • Przy użyciu formatu pliku, który określa terminator na podstawie pola przez pole.

    Uwaga

    Aby uzyskać informacje na temat korzystania z plików w formacie, zobacz temat Format Files for Importing or Exporting Data.

  • Bez plik formatu istnieją następujące możliwości:

    • Za pomocą -t Przełączenie określić terminator wiersza dla wszystkich pole z wyjątkiem ostatniego pole w wierszu i przy użyciu -r przełącznika terminator wiersza.

    • Za pomocą (przełącznik formatu znaków-c or -w) bez -t przełącznik, który ustawia terminator pole na znak tabulacji \t.Jest to taka sama, jak określanie -t\t.

      Uwaga

      Jeśli określisz -n (dane macierzysty) lub -N Przełącznik (macierzysty Unicode) nie są wstawiane terminatory.

    • Jeśli interaktywne BCP polecenie zawiera w or limit czasu opcji bez plik formatu przełącznik (-f) lub przełącznika formatu danych (-n, -c, -w, lub -N), i wybrano nie określić długość prefiksu i długości pole, to polecenie wyświetla monit o podanie terminator pole każdego pole z domyślną Brak:

      Enter field terminator [none]:

      Ogólnie rzecz biorąc wartością domyślną jest odpowiednim wyborem.Jednakże w przypadku char lub ncharpola danych, zobacz następującą podsekcją „ Guidelines for Using terminatory. „ Na przykład, że tego monitu w kontekście zobacz temat 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.

Zalecenia dotyczące używania terminatory

W niektórych sytuacjach, a terminator jest przydatne w przypadku char lub nchar pole danych. Na przykład:

Przykłady

This example bulk exports the data from the AdventureWorksHumanResources.Department table to the Department-c-t.txt data file using character format, with a comma as a field terminator and the newline character (\n) as the row terminator.Aby uzyskać więcej informacji na temat tej tabela zobacz Tabela działu (AdventureWorks).

The bcp command contains the following switches.

Przełącznik

Description

-c

Określa, że pola danych jest ładowany jako danych znakowych.

-t,

Określa przecinek (,) jako terminator pole.

-r \n

Określa terminator wiersza jako znak nowego wiersza.Jest to terminator wiersza domyślnego, więc określenie to jest opcjonalne.

-T

Określa, że BCP łączy narzędzie SQL Server z zaufane połączenie przy użyciu zintegrowanych zabezpieczeń. Jeśli -T nie jest określony, konieczne jest określenie -U and -P pomyślnie rejestrować cali

Aby uzyskać więcej informacji zobaczNarzędzie BCP.

Na Microsoft Wprowadź w wiersz polecenia systemu Windows:

bcp AdventureWorks.HumanResources.Department out C:\myDepartment-c-t.txt -c -t, -r \n -T

Spowoduje to utworzenie Department-c-t.txt, który zawiera 16 rekordy z czterema każdego pola. Pola są oddzielone przecinkami.

Określanie terminatory dla import zbiorczy

Kiedy zbiorczej importu char lub nchar dane, polecenia import zbiorczy musi rozpoznawać terminatory, które są używane w pliku danych. W jaki sposób można określić terminatory zależy od importu zbiorczego polecenia, w następujący sposób:

  • BCP

    Określanie terminatory dla operacji importowania używa tej samej składni, jak w przypadku operacji eksportowania.Aby uzyskać więcej informacji zobacz "Określanie terminatory na zbiorcze eksportu," we wcześniejszej części tego tematu.

  • WSTAWIANIA ZBIORCZEGO

    Terminatory można określać dla poszczególnych pól w plik formatu lub pliku całego danych przy użyciu kwalifikatory, pokazane w poniższej tabela.

    Kwalifikator

    Description

    FIELDTERMINATOR ='field_terminator'

    Określa terminator pole ma być używany dla znaków i pliki danych znak Unicode.

    Wartość domyślna to \t (znak tabulacji).

    ROWTERMINATOR ='row_terminator'

    Określa terminator wiersza ma być używany dla znaków i pliki danych znak Unicode.

    Wartość domyślna to \n (znak nowego wiersza).

    Aby uzyskać więcej informacji zobaczBULK INSERT (Transact-SQL).

  • WSTAW...WYBIERZ * Z OPENROWSET(BULK...)

    Dla dostawca OPENROWSET zbiorczej zestawu zestaw wierszy terminatory można określić tylko w plik formatu (co jest wymagane z wyjątkiem dla typów danych dużego obiektu).Jeśli plik danych znak używa terminator innych niż domyślne, musi być zdefiniowana w pliku w formacie.Aby uzyskać więcej informacji zobacz Creating a Format File i Using a Format File to Bulk Import Data.

    Aby uzyskać więcej informacji na temat klauzula OPENROWSET BULK zobacz OPENROWSET (Transact-SQL).

Przykłady

Przykłady w tej sekcji zbiorczej zaimportować formularz danych znak Department-c-t.txt pliku danych utworzonego w poprzednim przykładzie w myDepartment Tabela w AdventureWorks Przykładowa baza danych. Przed uruchomieniem w przykładach, należy utworzyć w tej tabela.Aby utworzyć w tej tabela w obszarze dbo schemat w SQL Server Management Studio Edytor kwerend wykonać następujący kod:

USE AdventureWorks;
GO
DROP TABLE myDepartment;
CREATE TABLE myDepartment 
(DepartmentID smallint,
Name nvarchar(50),
GroupName nvarchar(50) NULL,
ModifiedDate datetime not NULL CONSTRAINT DF_AddressType_ModifiedDate DEFAULT (GETDATE())
);
GO

A.Aby interaktywnie określić terminatory przy użyciu bcp

Importuje następujących masowych przykład Department-c-t.txt plik danych przy użyciu bcp polecenie. W poleceniu użyto tej samej przełączników polecenia jako polecenie eksport masowy.Aby uzyskać więcej informacji zobacz "Określanie terminatory na zbiorcze eksportu," we wcześniejszej części tego tematu.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp AdventureWorks..myDepartment in C:\myDepartment-c-t.txt -c -t , -r \n -T

B.Aby interaktywnie określić terminatory przy użyciu BULK INSERT

Importuje następujących masowych przykład Department-c-t.txt plik danych przy użyciu BULK INSERT Instrukcja używa kwalifikatorów, pokazane w poniższej tabela.

Opcja

Attribute

DATAFILETYPE ='char'

Określa, że pola danych jest ładowany jako danych znakowych.

FIELDTERMINATOR =','

Określa, (przecinek,) jako terminator pole.

ROWTERMINATOR ='\n'

Określa terminator wiersza jako znak nowego wiersza.

W SQL Server Management Studio Edytor kwerendy wykonaj następujący kod:

USE AdventureWorks;
GO
BULK INSERT myDepartment FROM 'C:\myDepartment-c-t.txt'
   WITH (
      DATAFILETYPE = 'char',
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n'
);
GO