Using Unicode Character Format to Import or Export Data

Unicode character format is recommended for bulk transfer of data between multiple instances of Microsoft SQL Server by using a data file that contains extended/DBCS characters.Format Unicode znaku danych umożliwia dane, które mają być eksportowane z serwera przy użyciu strony kodowej, która różni się od strona kodowa używana przez klient, który wykonuje operację.W takim wypadku korzystanie z formatu znaków Unicode ma następujące zalety:

  • Jeśli urządzenie źródłowe i obiekt docelowy dane są typy danych standardu Unicode, korzystanie z formatu znaków Unicode zachowuje wszystkie dane znakowe.

  • Jeśli dane źródłowe i docelowe nie są typy danych standardu Unicode, należy użyć utraty znaków rozszerzonych w danych źródłowych, których nie można przedstawić w miejscu docelowym minimalizuje formatu znaków Unicode.

Pliki danych w formacie Unicode znaku konwencjami plików Unicode.Pierwsze dwa bajty pliku są liczb szesnastkowych 0xFFFE.Tych bajtów służą jako znaki kolejność bajtów, określający, czy bajt wysokim zamówienia jest najpierw przechowywane i w pliku.

Important noteImportant Note:

plik formatu do pracy z plikiem danych Unicode znaku wszystkich pól danych wejściowych musi być ciągi tekstowe Unicode (oznacza to, stałym rozmiarze lub zakończone znaków Unicode ciągi).

The sql_variant data that is stored in a Unicode character-format data file operates in the same way it operates in a character-format data file, except that the data is stored as nchar instead of char data.Aby uzyskać więcej informacji na temat formatu znaków Zobacz Using Character Format to Import or Export Data.

Aby użyć terminator pole wiersza lub w innej niż domyślna, że pochodzi z formatu znaków Unicode, zobacz Specifying Field and Row Terminators.

Opcje wiersza polecenia format znaków Unicode

Można importować dane w formacie znaków Unicode do tabela za pomocą BCP, ZBIORCZA INSERT lub INSERT...WYBIERZ * Z OPENROWSET(BULK...).Aby BCP polecenia lub instrukcja BULK INSERT, można określić format danych w wierszu polecenia.Dla INSERT...SELECT * FROM OPENROWSET(BULK...) instrukcja, należy określić format danych w plik formatu.

Format znaków Unicode jest obsługiwana przez następujące opcje wiersza polecenia:

Polecenie

Opcja

Description

BCP

-w

W formacie Unicode znaku.

WSTAWIANIA ZBIORCZEGO

DATAFILETYPE ='widechar'

W formacie Unicode znaku podczas zbiorczego importowania danych.

Aby uzyskać więcej informacji zobacz Narzędzie BCP, BULK INSERT (Transact-SQL), lub OPENROWSET (Transact-SQL).

Uwaga

Alternatywnie można określić formatowanie na podstawie na pole w pliku w formacie.Aby uzyskać więcej informacji zobaczFormat Files for Importing or Exporting Data.

Przykłady

W poniższych przykładach pokazano sposoby eksport masowy przy użyciu danych znak Unicode BCP i do masowych importu tych samych danych przy użyciu BULK INSERT.

Tabela próbki

W przykładach wymagają, aby tabela o nazwie myTestUniCharData tabelę można utworzyć w AdventureWorks Przykładowa baza danych w obszarze dbo schemat. Przed uruchomieniem w przykładach, należy utworzyć w tej tabela.Aby utworzyć w tej tabela SQL Server Management Studio Uruchomić Edytor kwerendy:

USE AdventureWorks;
GO
CREATE TABLE myTestUniCharData (
   Col1 smallint,
   Col2 nvarchar(50),
   Col3 nvarchar(50)
   ); 

Wypełnia tę tabela i przeglądać wynikowym zawartości należy wykonać następujące instrukcje:

INSERT INTO myTestUniCharData(Col1,Col2,Col3)
   VALUES(1,'DataField2','DataField3');
INSERT INTO myTestUniCharData(Col1,Col2,Col3)
   VALUES(2,'DataField2','DataField3');
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData

Za pomocą bcp Eksportuj dane zbiorcze znaków Unicode

Aby wyeksportować dane z tabela do pliku danych, należy użyć BCP with the limit czasu opcja i następujące kwalifikatory:

Kwalifikatory

Description

-w

Określa format znaków Unicode.

-t,

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

NoteNote:
Wartość domyślna terminator pole służy karta znaków Unicode (\t).Aby uzyskać więcej informacji zobaczSpecifying Field and Row Terminators.

-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

Następujący przykład zbiorczego eksportuje dane w formacie Unicode znaku, od myTestUniCharData Tabela do nowego pliku danych o nazwie myTestUniCharData-w.Dat plik danych, który używa (przecinek,) jako terminator pole. Na Microsoft Wiersz polecenia systemu Windows, wpisz:

bcp AdventureWorks..myTestUniCharData out C:\myTestUniCharData-w.Dat -w -t, -T

Za pomocą INSERT BULK dane znakowe Unicode import zbiorczy

W poniższym przykładzie użyto BULK INSERT Aby importować dane w myTestUniCharData-w.Dat w pliku danych myTestUniCharData Tabela. (Innej niż domyślna pole terminator,) musi być deklarowane w instrukcja. W SQL Server Management Studio Uruchomić Edytor kwerendy:

USE AdventureWorks;
GO
BULK INSERT myTestUniCharData 
   FROM 'C:\myTestUniCharData-w.Dat' 
   WITH (
      DATAFILETYPE='widechar',
      FIELDTERMINATOR=','
   ); 
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData;
GO