Understanding Non-XML Format Files

In Microsoft SQL Server 2000 and earlier, bulk exporting and importing works with a single type of format file.This is supported in Microsoft SQL Server 2005 and later versions, which also support XML format files as an alternative.Aby odróżnić typu oryginalnego formatu plików, są nazywane pliki w formacie XML inny niż.

Uwaga

Pliki w formacie XML oferują wiele korzyści.Aby uzyskać więcej informacji zobaczFormat Files for Importing or Exporting Data.

Zazwyczaj pliki w formacie są tworzone dla formatu danych za pomocą BCP polecenia w jednym z następujących sposobów:

  • Utwórz plik formatu, takie jak dane znakowe lub macierzystym danych dowolnego typu, określając Format opcjiBCP polecenia.Aby uzyskać więcej informacji zobaczCreating a Format File.

  • Można utworzyć plik formatu XML inny niż zawierający interaktywnie określone atrybuty dla każdego pole danych.Aby uzyskać więcej informacji zobaczSpecifying Data Formats for Compatibility by Using bcp.

    Uwaga

    Po określeniu istniejącego pliku w formacie BCP polecenia, polecenie używa wartości, które są rejestrowane w pliku w formacie i czy nie Monituj o typ przechowywania pliku, długość prefiksu pole Długość, lub terminator pole.

Struktura plików formatu innych niż XML

plik formatu XML nie jest plik tekstowy, w którym określonej struktury.plik formatu XML nie zawiera informacje o pliku typu magazynu, długość prefiksu, długość pole i pole terminator każdej kolumna tabela.

Na poniższej ilustracji przedstawiono pola przykładowy plik formatu XML inny niż plik w formacie.

Identifies the fields of a non-XML format file

The wersja and Number of columns fields occur one czas only.Ich znaczenie są w tym artykule opisano w poniższej tabela.

Pole format pliku

Description

Wersja

Numer wersja BCP utility:

7.0 = SQL Server w wersja 7.0

8.0 = SQL Server 2000

9.0 = SQL Server 2005

10.0 = SQL Server 2008

Numer wersja jest rozpoznawany wyłącznie przez BCP, not by Transact-SQL.

NoteNote:
Wersja BCP narzędzie (bcp.exe) używanej przy odczycie pliku w formacie musi być taka sama, jak lub nowsza wersja nie został użyty do utworzenia pliku w formacie.For example, SQL Server 2008bcp can read a version 9.0 format file, which is generated by SQL Server 2005bcp, but SQL Server 2005bcp cannot read a version 10.0 format file, which is generated by SQL Server 2008bcp.

Liczba kolumn

Liczba pól w pliku danych.Liczba ta musi być taki sam we wszystkich wierszach.

Inne pola pliku w formacie opis pola danych, które mają być zbiorczej importowany lub eksportowany.Każde pole danych wymaga osobnego wiersza w plik formatu.Każdy wiersz pliku w formacie zawiera wartości dla pola format pliku, które są opisane w poniższej tabela.

Pole format pliku

Description

Kolejność pole w pliku hostów

Liczba, która wskazuje położenie każdego pole w pliku danych.Pierwsze pole w wierszu jest 1 i tak dalej.

Typ danych pliku hosta

Wskazuje typ danych, który jest przechowywany w danego pole pliku danych.Z plikami danych ASCII Użyj SQLCHAR; pliki danych w format macierzysty, należy użyć domyślnych typów danych.Aby uzyskać więcej informacji zobaczSpecifying File Storage Type by Using bcp.

Długość prefiksu

Liczba znaki prefiksu długości pole.Prawidłowy prefiks długości są 0, 1, 2, 4 i 8.Aby uniknąć określające prefiks długości zestaw to 0.Prefiks długość musi być określony, jeśli to pole zawiera wartość NULL, wartości danych.Aby uzyskać więcej informacji zobaczSpecifying Prefix Length in Data Files.

Długość danych pliku hosta

Maksymalna długość, w bajtach, typ danych przechowywanych w określonym polu pliku danych.

Jeśli podczas tworzenia pliku XML inny niż plik formatu tekstowego rozdzielanego, można określić 0 dla pliku długość danych hosta wszystkich pole danych.Podczas importowania pliku tekstowego rozdzielanego długość prefiksu 0 i terminator długość pola wartość jest ignorowana, ponieważ miejsce używane przez to pole jest równa długości danych oraz terminator.

Aby uzyskać więcej informacji zobaczSpecifying Field Length by Using bcp.

Terminator

Ogranicznik pola w pliku danych.Typowe terminatory jest przecinek (,), karta (\t) oraz punkt końcowy linii (\r\n).Aby uzyskać więcej informacji zobaczSpecifying Field and Row Terminators.

Kolejność kolumn z serwera

Kolejność wyświetlania kolumn w SQL Server Tabela. Na przykład, jeśli czwartego pole w pliku danych jest mapowany do szóstego kolumna w SQL Server Tabela kolejności kolumn serwera w czwartym polu jest 6.

Aby uniemożliwić odbieranie danych z pliku danych kolumna w tabela zestaw wartość kolejności kolumn serwera na 0.

Nazwa kolumna serwera

Nazwa kolumna, skopiowane z SQL Server Tabela. Rzeczywista nazwa pole nie jest wymagane, ale pole w plik formatu nie może być puste.

Kolumna sortowanie

Sortowanie, używane do przechowywania danych Unicode i znaków w pliku danych.

Uwaga

Można zmodyfikować plik formatu, które umożliwiają zbiorczej importu z pliku danych, w których liczba lub kolejność pól różnią się od numeru lub kolejność kolumn w tabela.Aby uzyskać więcej informacji zobaczUsing a Format File to Map Fields to Columns During Bulk Import.

Przykłady

W poniższym przykładzie pokazano () utworzone wcześniej-XML inny niż plik formatumyDepartmentIdentical-f-c.fmt). Ten plik zawiera opis każdej kolumna pole danych znakowych HumanResources.Department Tabela w AdventureWorks Przykładowa baza danych.

Wygenerowanych plik formatu, myDepartmentIdentical-f-c.fmt, zawiera następujące informacje:

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

Na ilustracji, pokazujący pól pliku w formacie w odniesieniu do tego pliku w formacie XML inny niż przykładowych zobacz "Struktura z XML nie format plików," we wcześniejszej części tego tematu.