Copying Data Between Different Collations

In Microsoft SQL Server data can be moved between Unicode columns seamlessly and conversion is unnecessary.Danych przenoszona między kolumny zawierające dane znakowe nie obsługujących kodu Unicode, jednak muszą zostać przekonwertowane strona kodowa źródłowego do miejsce docelowe strona kodowa.A Strona kodowa jest uporządkowanym zbiorem znaków danego skryptu, w którym wartość indeksu liczbowego, czy punkt kodowy punktu, jest skojarzony z każdego znaku.Strony kodowe obsługi zestawów znaków i układów klawiatury, używane przez różne Microsoft Ustawienia regionalne systemu Windows. Aby wyświetlić listę stron kodowych obsługiwanych zobacz Code Page Architecture.

Domyślnie dane znak jest konwertowany w następujący sposób:

Operacja

Dane znakowe konwertowane na:

Eksportuj

OEM strona kodowa znaków

Importuj

Znaki strona kod ANSI/Microsoft Windows

Konwersja między strony kodowe OEM i ANSI spowoduje utratę znaków rozszerzonych lub zestaw zestaw znaków dwubajtowych (zestaw znaków dwubajtowych) w zestawie znaków.Aby uniknąć takich konwersji w SQL Server, można określić strona kodowa lub sortowanie.

Uwaga

Aby uzyskać informacje na temat transferowania bazy danych z jednego sortowanie do sortowania innego to zobaczyć Witryny firmy Microsoft w sieci Web.

W SQL Server 7.0 lub nowszej, magazyn fizyczny z ciągów znaków jest kontrolowane przez ustawienia sortowania. Ustawianie sortowania jest obsługiwane na cztery poziomy: wystąpienie serwera, bazy danych, kolumna tabela i wyrażenie. sortowanie określa trzy właściwości:

  • Strona kodowa używana do przechowywania danych znakowych nie obsługujących kodu Unicode.

  • kolejność sortowania dla danych Unicode typy)nchar, nvarchar, and ntext).kolejność sortowania określa kolejność, w jakiej znaki są sortowane, a sposób znaki są oceniane w operacjach porównania.

  • kolejność sortowania dla danych znakowych nie obsługujących kodu Unicode typy)char, varchar, a text).

Uwaga

Microsoft Zaleca się, że zostanie podana nazwa sortowanie dla każdej kolumna plik formatu.

Aby uzyskać informacje wstępne o stron kodowych i metody sortowania zobacz Collation and Unicode Support. Aby uzyskać szczegółowe informacje Zobacz Praca z ustawień sortowania.

Za pomocą sortowanie kolumna poziom

W SQL Server 7.0 lub nowszej, można kontrolować Konwersja danych przez określenie sortowanie, w którym dane są przechowywane pole plik miejsce docelowe dane do eksportu zbiorczego lub kolumna w tabela miejsce docelowe dla operacji importu zbiorczego. Wszystkie wymagane translacji między danych sortowanie plików i ustawień sortowanie kolumn tabela w bazie danych odbywa się wewnętrznie przez importowanie lub eksportowanie operacji.

Uwaga

Dla SQL Server 7.0 lub nowszej, określając strona kodowa jest obsługiwany, ale zaleca się określenie sortowanie w plik formatu.

Ustawienia sortowania zawsze stosuje się do kolumn SQLCHAR operacji zbiorczej eksportu i importu zbiorczego.Specyfikacje sortowanie kolumna zawsze są ignorowane w wypadku kolumn, które nie mają SQLCHAR lub SQLNCHAR określony jako typem danych hosta.Ustawienia sortowania są używane do określania kolejność sortowania dla kolumn SQLCHAR i SQLNCHAR podczas operacji importu zbiorczego, dla której kolumny podanych w wskazówka ORDER.

Aby określić sortowanie, należy użyć formatu pliku.Oba typy plików w formacie obsługuje określanie poziom kolumna sortowania.Aby uzyskać informacje dotyczące w pliki w formacie XML inny niż przy użyciu ustawień sortowania zobacz następującą sekcję, określanie ustawień sortowania kolumna poziom w plikach formatu XML nie.Aby uzyskać informacje dotyczące korzystania z metody sortowania w plikach w formacie XML zobacz Understanding XML Format Files.

Określanie kolumna-poziomu sortowania w plikach XML nie format

Ostatniej kolumny w pliku formatu XML inny niż (kolumna Pozycja porządkowa 8) zawiera specyfikacji sortowanie, który definiuje sposób przechowywania danych dla tej kolumny w pliku danych.Opcje sortowanie kolumna są następujące:

Opcja

Description

name

Określa nazwę sortowanie, używane do przechowywania danych w pliku danych.Aby wyświetlić listę nazw sortowanie programu SQL zobacz SQL Server Collation Name (Transact-SQL).

NIEPRZETWORZONE

Określa, że dane są przechowywane w strona kodowa, która jest określona w opcji strona kodowa w poleceniu lub bcp_control Wskazówka BCPFILECP.Jeśli żadna z nich zostanie określony, sortowanie pliku danych jest strona kodowa OEM komputera klienckiego.

NoteNote:
Aby uzyskać więcej informacji na temat opcji strony kodowej zobacz "Using a strona kodowa," w dalszej części tego tematu.Aby uzyskać więcej informacji zobacz temat BCPFILECP wskazówki, zobacz bcp_control.

""

Ma takie samo znaczenie, jak RAW.

Przykłady

W poniższym przykładzie przedstawiono plik formatu XML inny niż z kolumna sortowania dla pól, 2 i 3.Informacje sortowanie są wyświetlane czcionką pogrubioną.

9.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""

Uwaga

Poprzedni plik formatu jest za HumanResources.Department tabelaAdventureWorks Przykładowa baza danych, który ma cztery kolumny: DepartmentID, Nazwa, Nazwa_grupy, and ModifiedDate.Aby uzyskać więcej informacji o tabela zobacz Tabela działu (AdventureWorks).

Aby uzyskać więcej informacji na temat plików w formacie XML inny niż zobacz Understanding Non-XML Format Files.

Za pomocą strona kodowa

Uwaga

Konwersja danych, formantem Microsoft Zaleca się, czy plik formatu jest używana do określenia sortowania kolumn poziom dla operacji zbiorczej eksportu lub importu zbiorczego. Aby uzyskać więcej informacji zobacz temat. "Za pomocą sortowanie kolumna poziom, "we wcześniejszej sekcji.

Składnia służąca do określania strona kodowa jest następująca:

  • Aby określić strona kodowa w BCP polecenia, użyj -C switch:

    -C {AKP | OEM | RAW | code_page }

  • Aby określić strona kodowa w BULK INSERT lub INSERT...SELECT * FROM instrukcja OPENROWSET(BULK...), należy użyć opcji CODEPAGE:

    STRONA KODOWA = { "ACP" | "OEM" | "RAW" | "code_page" }

Oba -C przełącznika i opcji CODEPAGE akceptują następujące wartości strona kodowa.

Kod wartość strona

Description

AKP

Podczas operacji importowania Określa, że dane pola CHAR, varchar, or tekst typu danych są konwertowane ze strony kodowej ANSI/systemu Windows (ISO 1252) SQL Server Strona kodowa.

Podczas eksportu operacji, określa, że BCP konwertuje te kolumnySQL Server Strona kodowa do strony kodowej ANSI/systemu Windows.

OEM (domyślnie)

Podczas operacji importowania Określa, że dane pola CHAR, varchar, or tekst typu danych są konwertowane z systemowej strony kodowej OEM SQL Server Strona kodowa.

Podczas eksportu operacji, określa, że BCP konwertuje te kolumnySQL Server Strona kodowa, aby strona kodowa OEM.

NIEPRZETWORZONE

Występuje, bez konwersji ze strona kodowa jednego do drugiego.Jest to najszybszy opcji.

code_page

Numer strona kodowa określonego (np. 850). Aby wyświetlić listę stron kodowych obsługiwanych zobacz Code Page Architecture.

Przykłady

W następujących przykładach użyto HumanResources.myTeam tabelaAdventureWorks Baza danych. Przed uruchomieniem w przykładach, należy utworzyć w tej tabela.Aby uzyskać informacje dotyczące tabela i utwórz go zobacz Creating the HumanResources.myTeam Table.

Uwaga

Przed sprawdzeniem w poniższym przykładzie, należy usunąć istniejące wiersze z myTeam tabela w celu uniknięcia konfliktów klucz podstawowego.

A.Strona kodowa przy użyciu bcp

W tym przykładzie BCP do eksport masowy dane z HumanResources.myTeam Tabela w AdventureWorks Baza danych do myTeam850.txt dane plików, należy użyć strona kodowa 850. W wiersz polecenia systemu Windows wpisz polecenie:

bcp AdventureWorks.HumanResources.myTeam out myTeam850.txt -c -C850 -T

B.Strona kodowa przy użyciu BULK INSERT

This example uses BULK INSERT to bulk import myTeam850.txt, created in the preceding bcp example, into the AdventureWorksHumanResources.myTeam table.

Za pomocą narzędzie kwerendy takie jak SQL Server Management Studio Uruchomić Edytor kwerendy:

USE AdventureWorks
GO
DELETE HumanResources.myTeam
GO
BULK INSERT HumanResources.myTeam 
   FROM 'C:\myTeam850.txt'
   WITH (CODEPAGE = 850);
GO

Eksportowanie danych między różne metody sortowania zbiorczej

W ramach operacji zbiorczych eksportowania specyfikacji sortowanie określa strona kodowa, która jest używana do przechowywania danych znakowych w pliku danych.Stosuje się do:

  • Wszystkie kolumny w pliku danych formatu znaków.

  • Wszystkie kolumna w pliku trybu macierzystego, gdzie SQLCHAR jest określona jako typ danych pliku hosta.

  • Której wartości są większe niż 127 lub mniejszy niż 32 znaki SQLCHAR.

    Ustawienia sortowania są stosowane do znaków, których wartości są 32 do 127, ale wszystkie strony kodowe mapowanie takie same znaki do wartości od 32 do 127, więc stosowanie różnych ustawień sortowania nie ma wpływu.

Zasady określające które sortowanie lub strona kodowa jest używany na eksportu zbiorczej operacji są następujące:

  • Jeżeli określono sortowanie kolumna w plik formatu lub za pomocą ODBC bcp_setcolfmt Funkcja ( bcp_setcolfmt), są przechowywane dane znaków przy użyciu strona kodowa ANSI, które są skojarzone z sortowanie.

  • Jeśli nie określono sortowanie kolumn, ale określono stronę kodową przez albo pomocą opcji strony kodowej w poleceniu lub bcp_control Wskazówka BCPFILECP, wszystkie dane SQLCHAR z kolumn o Brak specyfikacji sortowanie kolumn są przechowywane przy użyciu określona strona kodowa.

    Uwaga

    Aby uzyskać informacje dotyczące opcji strony kodowej zobacz "Using a strona kodowa," we wcześniejszej części tego tematu.Aby uzyskać więcej informacji zobacz temat BCPFILECP wskazówki, zobacz bcp_control.

  • Jeśli nie określono sortowanie lub strona kodowa, SQLCHAR dane są przechowywane przy użyciu strona kodowa OEM z klient komputera.

Uwaga

Nie informacji na temat sortowanie / strona kodowa są przechowywane w pliku danych.

Importowanie danych między różne metody sortowania zbiorczej

Dla operacji importu zbiorczego strona kodowa interpretacji stosuje się do kolumny przechowywany jako znak formacie, SQLCHAR, dane w pliku danych.W pliku danych formatu znaków wszystkie kolumny są przechowywane jako SQLCHAR.Ponieważ nie informacji na temat sortowanie / strona kodowa są przechowywane w pliku danych, dla operacji importu zbiorczego, musisz podać informacje na temat sortowanie / strona kodowa pól danych.

Zasady określające, które strona sortowanie lub kodu jest używana w operacji importu zbiorczego są następujące:

  • Jeśli określisz sortowanie kolumny w pliku w formacie lub za pomocą ODBC bcp_setcolfmt Funkcja ( bcp_setcolfmt), dane SQLCHAR w pliku danych jest interpretowany przy użyciu strona kodowa ANSI skojarzone z określona kolumna sortowanie. Upewnij się, że Twoje specyfikacje sortowanie odpowiada sortowaniu w pliku danych.

  • Jeśli nie określono sortowanie kolumna, ale strona kodowa jest określona przy użyciu opcji strony kodowej w poleceniu lub bcp_control Za pomocą określona strona kodowa jest interpretowany BCPFILECP wskazówkę, SQLCHAR danych.

    Uwaga

    Aby uzyskać informacje dotyczące opcji strona kodowa zobacz Korzystanie z strona kodowa we wcześniejszej części tego tematu.Aby uzyskać więcej informacji zobacz temat BCPFILECP wskazówki, zobacz bcp_control.

  • Jeśli nie określono żadnych ustawień sortowania lub strona kodowa, dane w kolumnach SQLCHAR jest interpretowany przy użyciu strona kodowa OEM komputera klienckiego.

W przypadku operacji importu zbiorczego specyfikacji sortowanie steruje następujące czynności:

  • W jaki sposób działania próbuje interpretować strona kodowa SQLCHAR kolumn w pliku danych.

  • W jaki sposób BCP lub BULK INSERT stosuje się wskazówka ORDER, jeśli określony.

    Jeśli używasz wskazówka ORDER operacji importu zbiorczego używa metody sortowania poprawnie zinterpretować wskazówka ORDER.Wskazówka ta stosuje się do kolumn SQLCHAR i SQLNCHAR.Dane w kolumnach, odwołanie do niego wskazówkę dotyczącą ORDER musi być w kolejności zdefiniowanej przez sortowanie, który jest mapowany do tych kolumn.Aby uzyskać więcej informacji zobaczControlling the Sort Order When Bulk Importing Data.