Wprowadzenie do formatu plików
Plik, który jest używany do przechowywania informacji o formacie dla każdego pole w pliku danych w stosunku do określonej tabela jest nazywany plik formatu.Plik formatu zawiera wszelkie informacje formatu wymaganego eksportu luzem lub import zbiorczy danych.Plik formatu zapewnia elastyczny system zapisywania plików danych, które wymaga niewielkiej lub żadnej edycji do wykonania innych formatów danych lub odczytać pliki danych z innych programów.
In Microsoft SQL Server 2000 and earlier versions, bulk exporting and importing works with a single type of format file.Nadal jest obsługiwany.Jednakże SQL Server 2005 i jego nowsze wersje obsługują także pliki w formacie XML jako alternatywne.Pliki w formacie oryginalnego typu są nazywane pliki w formacie XML programu.
Wszystkie pliki w formacie zawierają opisy każdego pole w pliku danych.Pliki w formacie XML również zawierają opisy odpowiednich kolumn tabela.Ogólnie pliki w formacie XML i XML nie są wymienne.Jednak zaleca się, aby użyć składni XML nowy format plików, ponieważ zapewniają więcej korzyści niż pliki w formacie XML programu.plik formatu XML ma następujące cechy:
Uzależnienie do wpisów i ułatwia czytanie, tworzenie i rozszerzanie.
Zawiera typy danych kolumn miejsce docelowe.
Umożliwia oddzielenie jak dane są reprezentowane w pliku danych i jaki typ danych jest skojarzony z każdego pole w pliku.Na przykład jeśli plik danych zawiera reprezentacja znaków danych, odpowiedni typ kolumna SQL zostaną utracone.
Bcp poleceń i instrukcja WSTAWIENIA luzem dokonać konwersji typu użyć kolumny w tabela miejsce docelowe.Dzięki temu tabela miejsce docelowe niezbędne.Natomiast XML zależy od funkcja OPENROWSET(BULK...) plik formatu do odczytywania danych z pliku danych.Dzięki temu tabela miejsce docelowe opcjonalne.
Umożliwia ładowanie pole, które zawiera dane typu pojedynczego dużego obiektu (LOB) z pliku danych.
Składnia plik formatu jest niezależna od kierunku operacji; oznacza to, że składnia jest taka sama dla wywozu luzem i import zbiorczy.
Informacje o układzie każdego typu plików w formacie przykłady "" w dalszej części tego tematu.
Gdy wymagane jest Format pliku?
WSTAW...WYBIERZ * Z OPENROWSET(BULK...) instrukcja zawsze wymaga pliku formatu.
- Dla bcp lub WSTAWIĆ luzem, w sytuacjach prosty przy użyciu plik formatu jest opcjonalny i rzadko konieczne.Dla złożonych sytuacjach importu zbiorczego, często wymagany jest plik formatu.
Jeśli wymagane są pliki w formacie:
Ten sam plik danych jest używany jako źródło dla wielu tabel, które mają różne schematy.
Plik danych ma różne liczby pól, że tabela miejsce docelowe zawiera kolumny; na przykład:
tabela miejsce docelowe zawiera co najmniej jedną kolumna, dla której albo wartość domyślna jest zdefiniowany lub dozwolone wartości NULL.
Użytkownicy nie mają uprawnień wybierz i WSTAW na jedną lub więcej kolumn w tabela.
Jednego pliku danych jest używany z dwóch lub więcej tabel, które mają różne schematy.
kolumna Zamówienia jest inny plik danych i tabela.
Znaki końca lub długości prefiksu różnią się między kolumnami pliku danych.
Ostrzeżenie
W przypadku braku plik formatu, jeśli bcp polecenia określa przełącznik formatu danych (- n, - c, -w, lub -N) lub operacji ZBIORCZEGO WSTAW określa opcja DATAFILETYPE, format określonych danych jest używany jako domyślną metoda interpretacji pola pliku danych.
Przykłady
Poniższe przykłady pokazują układ nie XML plik formatu i XML plik formatu.Te pliki w formacie odpowiadają HumanResources.myTeam tabela w AdventureWorks2008R2 przykładowej bazy danych.Ta tabela zawiera cztery kolumny: EmployeeID, Name, Title, and ModifiedDate.
Ostrzeżenie
Informacje w tej tabela i jak je tworzyć, zobacz Tworzenie tabeli HumanResources.myTeam.
A.Przy użyciu innych niż XMLplik formatu
Następujące XML inny niż programu plik formatu używa SQL Server format danych w trybie macierzystym HumanResources.myTeam tabela.Ten plik formatu został utworzony przy użyciu następujących bcp polecenia.
bcp AdventureWorks2008R2.HumanResources.myTeam format nul -f myTeam.Fmt -n -T
The contents of this format file are as follows: 9.0
4
1 SQLSMALLINT 0 2 "" 1 EmployeeID ""
2 SQLNCHAR 2 100 "" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLNCHAR 2 100 "" 3 Title SQL_Latin1_General_CP1_CI_AS
4 SQLNCHAR 2 100 "" 4 Background SQL_Latin1_General_CP1_CI_AS
Aby uzyskać więcej informacji, zobacz Opis plików w formacie XML programu.
B.Za pomocą XMLplik formatu
Następujące XML plik formatu używa SQL Server format danych w trybie macierzystym HumanResources.myTeam tabela.Ten plik formatu został utworzony przy użyciu następujących bcp polecenia.
bcp AdventureWorks2008R2.HumanResources.myTeam format nul -f myTeam.Xml -x -n -T
Plik formatu zawiera:
<?xml version="1.0"?>
<BCPFORMAT xmlns="https://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="NativePrefix" LENGTH="1"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="EmployeeID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="Title" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="Background" xsi:type="SQLNVARCHAR"/>
</ROW>
</BCPFORMAT>
Aby uzyskać więcej informacji, zobacz Opis plików w formacie XML.