Do importowania lub eksportowania danych przy użyciu formatu znaków Unicode

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 danych znak Unicode umożliwia danych mają być wywożone z serwerem przy użyciu strony kodowej, która różni się od strona kodowa używana przez klient, który wykonuje operację.W takich przypadkach użyj formatu Unicode znaku ma następujące zalety:

  • Jeśli źródło i obiekt docelowy dane są typy danych standardu Unicode, użyj formatu znaków Unicode zachowuje wszystkie dane znakowe.

  • Jeśli źródło i obiekt docelowy danych nie są typy danych standardu Unicode, użyj formatu znaków Unicode zminimalizowanie utraty znaków rozszerzonych w danych źródłowych, które nie mogą być reprezentowane na obiekt docelowy.

Pliki danych w formacie znak Unicode konwencjami plików Unicode.Pierwsze dwa bajty w pliku są liczb szesnastkowych 0xFFFE.Tych bajtów służyć jako znaki kolejność bajtów, określający, czy znaczącym bajcie znajduje pierwszy lub ostatni w pliku.

Ważna informacjaWażne:

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

sql_variant Danych jest przechowywana w pliku danych formatu znaków Unicode działa tak samo, jak działa w pliku danych formatu znaków, z wyjątkiem, że dane są przechowywane jako nchar zamiast char danych.Aby uzyskać więcej informacji na temat formatu znaków Zobacz Do importowania lub eksportowania danych przy użyciu formatu znaków.

Aby użyć pole lub wiersza terminator innych niż domyślne, dostarczonego z formatu znaków Unicode, zobacz Określanie pola i terminatory wiersza.

Opcje polecenia dla formatu Unicode znaku

Danych formatu Unicode znaku można zaimportować do tabela za pomocą bcp, ZBIORCZEGO WSTAW lub WSTAW...WYBIERZ * Z OPENROWSET(BULK...).Dla bcp polecenia lub WSTAW luzem instrukcja można określić format danych w wierszu polecenia.Dla instrukcji INSERT...WYBIERZ * Z OPENROWSET(BULK...) instrukcja, należy określić format danych w formacie pliku.

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

Polecenia

Opcja

Opis

BCP

-w

W formacie Unicode znaku.

WSTAW LUZEM

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).

Ostrzeżenie

Alternatywnie można określić formatowanie na podstawie-pole w plik formatu.Aby uzyskać więcej informacji, zobacz Format plików importowanie lub eksportowanie danych.

Przykłady

Następujące przykłady przedstawiają sposób luzem eksportu danych znak Unicode przy użyciu bcp i import zbiorczy tych samych danych przy użyciu WSTAW luzem.

Przykładowa tabela

Przykłady wymagają, że tabela o nazwie myTestUniCharData tabeli można utworzyć w AdventureWorks2008R2 przykładowej bazy danych pod dbo schematu.Przed uruchomieniem przykłady, należy utworzyć w tej tabela.Aby utworzyć w tej tabela SQL Server Management Studio Edytor kwerend wykonać:

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

Wypełnić tę tabela i wyświetlić wynikowy zawartość 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 do luzem eksportować dane znakowe Unicode

Aby wyeksportować dane z tabela do pliku danych, należy użyć bcp z się opcja i następujące określenia:

Kwalifikatory

Opis

-w

Określa format znaków Unicode.

-t,

Określa przecinkiem (,) jako terminator pola.

UwagaUwaga:
terminator pola domyślny jest karta znaków Unicode (\t).Aby uzyskać więcej informacji, zobacz Określanie pola i terminatory wiersza.

-T

Określa, że bcp narzędzie łączy się z SQL Server z zaufane połączenie przy użyciu zintegrowanych zabezpieczeń.Jeśli -T nie jest określony, należy określić - U i -P pomyślnie zalogować.

Następujące masowe przykład eksportuje dane w formacie Unicode znaku, od myTestUniCharData tabela do nowego pliku danych o nazwie myTestUniCharData-w.Dat pliku danych, który jest przecinek (,) jako terminator pola.W Microsoft wiersz polecenia systemu Windows, wpisz:

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

Za pomocą polecenia WSTAW luzem do importu zbiorczego danych znak Unicode

W poniższym przykładzie użyto BULK INSERT do importowania danych w myTestUniCharData-w.Dat dane pliku do myTestUniCharData tabela.terminator pola niestandardowe (,) musi być zadeklarowana w instrukcja.W SQL Server Management Studio Edytor kwerend wykonać:

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