Przykładowe pliki w formacie XML
W tym temacie przykłady ilustrują klucz pliki w formacie aspektów za pomocą języka XML.Składnia plik formatu jest niezależna od kierunku operacji; oznacza to, że składnia jest taka sama dla wywozu luzem i import zbiorczy.
Przykłady ilustrują następujące czynności:
Kolejność pól danych znakowych taki sam, jak kolumny tabela
Kolejność pól danych i tabela kolumn inaczej
Pomijając pole danych
Mapowanie różnych typów pól kolumn
Mapowanie danych XML do tabela
Importowanie pola o stałej długości lub stałej szerokości
Ostrzeżenie
Informacje dotyczące tworzenia plików Zobacz Tworzenie pliku formatu.
Przykłady
W plikach danych pokazano w poniższych przykładach <kartę> wskazuje znak tabulacji w pliku danych i <zwrotu> wskazuje powrotu karetki.
A.Kolejność pól danych znakowych taki sam, jak kolumny tabela
W poniższym przykładzie przedstawiono plik formatu XML, który opisuje plik danych zawierający trzy pola danych znakowych.plik formatu mapuje pliku danych do tabela, która zawiera trzy kolumny.Pola danych odpowiada jeden do jednego z kolumn tabela.
Tabela (wiersz): osoby (int wieku, FirstName varchar(20), LastName varchar(30))
Plik danych (rekord): wieku<kartę>imię<kartę>nazwisko<zwrotu>
Następujące XML plik formatu odczytuje z pliku danych do tabela.
W <RECORD> element, reprezentuje plik formatu danych wartości we wszystkich trzech polach jako znak danych.Dla każdego pole TERMINATOR atrybut wskazuje terminator następującą wartość danych.
Pola danych odpowiada jeden do jednego z kolumn tabela.W <ROW> element, plik formatu mapuje kolumna Age do pierwszego pole kolumna FirstName do drugiego pole i kolumna LastName do trzeciego pole.
<?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="CharTerm" TERMINATOR="\t"
MAX_LENGTH="12"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t"
MAX_LENGTH="20" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n"
MAX_LENGTH="30"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="age" xsi:type="SQLINT"/>
<COLUMN SOURCE="2" NAME="firstname" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="3" NAME="lastname" xsi:type="SQLVARYCHAR"/>
</ROW>
</BCPFORMAT>
Ostrzeżenie
Dla równoważne AdventureWorks2008R2 przykład, zobacz Tworzenie pliku formatu.
B.Kolejność pól danych i tabela kolumn inaczej
W poniższym przykładzie przedstawiono plik formatu XML, który opisuje plik danych zawierający trzy pola danych znakowych.plik formatu mapuje pliku danych do tabela, która zawiera trzy kolumny, których uporządkowana w inny sposób z pól pliku danych.
Tabela (wiersz): osoby (int wieku, FirstName varchar(20), LastName varchar(30))
Plik danych (rekord): wiek<kartę>nazwisko<kartę>imię<zwrotu>
W <RECORD> element, reprezentuje plik formatu danych wartości we wszystkich trzech polach jako znak danych.
W <ROW> element, plik formatu mapuje kolumna Age do pierwszego pole kolumna FirstName do trzeciego pole i kolumna LastName do drugiego pole.
<?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="CharTerm" TERMINATOR="\t"
MAX_LENGTH="12"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="20"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n"
MAX_LENGTH="30" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="age" xsi:type="SQLINT"/>
<COLUMN SOURCE="3" NAME="firstname" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="2" NAME="lastname" xsi:type="SQLVARYCHAR"/>
</ROW>
</BCPFORMAT>
Ostrzeżenie
Dla równoważne AdventureWorks2008R2 przykład, zobacz Przy użyciu formatu pliku do mapowania pól z pliku danych kolumny tabeli.
C.Pomijając pole danych
W poniższym przykładzie przedstawiono plik formatu XML, który opisuje plik danych zawierający cztery pola danych znakowych.plik formatu mapuje pliku danych do tabela, która zawiera trzy kolumny.Drugie pole danych odpowiada dowolnej kolumna tabela.
Tabela (wiersz): osoby (wiek int, FirstName Varchar(20), LastName Varchar(30))
Plik danych (rekord): wieku<kartę>IDPracownika<kartę>imię<kartę>nazwisko<zwrotu>
W <RECORD> element, reprezentuje plik formatu danych wartości we wszystkich czterech polach jako znak danych.Dla każdego pole atrybut TERMINATOR wskazuje terminator poniżej wartości danych.
W <ROW> element, plik formatu mapuje kolumna Age do pierwszego pole kolumna FirstName do trzeciego pole i kolumna LastName do czwartego pole.
<? wersja xml = "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="CharTerm" TERMINATOR="\t"
MAX_LENGTH="12"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t"
MAX_LENGTH="10"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\t"
MAX_LENGTH="20"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n"
MAX_LENGTH="30"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="age" xsi:type="SQLINT"/>
<COLUMN SOURCE="3" NAME="firstname" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="4" NAME="lastname" xsi:type="SQLVARYCHAR"/>
</ROW>
</BCPFORMAT>
Ostrzeżenie
Dla równoważne AdventureWorks2008R2 przykład, zobacz Pomiń pole danych przy użyciu formatu pliku.
D.Mapowanie <pola> xsi: type do <kolumny> xsi: type
Poniższy przykład przedstawia różne rodzaje pól i ich mapowania do kolumn.
<?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 xsi:type="CharTerm" ID="C1" TERMINATOR="\t"
MAX_LENGTH="4"/>
<FIELD xsi:type="CharFixed" ID="C2" LENGTH="10"
COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
<FIELD xsi:type="CharPrefix" ID="C3" PREFIX_LENGTH="2"
MAX_LENGTH="32" COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
<FIELD xsi:type="NCharTerm" ID="C4" TERMINATOR="\t"
MAX_LENGTH="4"/>
<FIELD xsi:type="NCharFixed" ID="C5" LENGTH="10"
COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
<FIELD xsi:type="NCharPrefix" ID="C6" PREFIX_LENGTH="2"
MAX_LENGTH="32" COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
<FIELD xsi:type="NativeFixed" ID="C7" LENGTH="4"/>
</RECORD>
<ROW>
<COLUMN SOURCE="C1" NAME="Age" xsi:type="SQLTINYINT"/>
<COLUMN SOURCE="C2" NAME="FirstName" xsi:type="SQLVARYCHAR"
LENGTH="16" NULLABLE="NO"/>
<COLUMN SOURCE="C3" NAME="LastName" />
<COLUMN SOURCE="C4" NAME="Salary" xsi:type="SQLMONEY"/>
<COLUMN SOURCE="C5" NAME="Picture" xsi:type="SQLIMAGE"/>
<COLUMN SOURCE="C6" NAME="Bio" xsi:type="SQLTEXT"/>
<COLUMN SOURCE="C7" NAME="Interest"xsi:type="SQLDECIMAL"
PRECISION="5" SCALE="3"/>
</ROW>
</BCPFORMAT>
E.Mapowanie danych XML do tabela
Poniższy przykład tworzy pustą tabela dwukolumnową (t_xml), w którym mapuje do pierwszej kolumna int mapuje typ danych i drugiej kolumna xml typu danych.
CREATE TABLE t_xml (c1 int, c2 xml)
Następujące XML plik formatu będzie załadowanie pliku danych do tabela t_xml.
<?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" PREFIX_LENGTH="1"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="8"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="c1" xsi:type="SQLINT"/>
<COLUMN SOURCE="2" NAME="c2" xsi:type="SQLNCHAR"/>
</ROW>
</BCPFORMAT>
F.Importowanie pola o stałej długości lub stałej szerokości
Na poniższym przykładzie opisano stałych pól 10 lub 6 poszczególnych znaków.Plik formatu reprezentuje tych długości/szerokości pole jako LENGTH="10" i LENGTH="6", odpowiednio.Każdy wiersz kończy się pliki danych z powrotu karetki-wiersza źródła kombinacji {CR} {LF} reprezentującym jako plik formatu TERMINATOR="\r\n".
<?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="CharFixed" LENGTH="10"/>
<FIELD ID="2" xsi:type="CharFixed" LENGTH="6"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n"
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="C1" xsi:type="SQLINT" />
<COLUMN SOURCE="2" NAME="C2" xsi:type="SQLINT" />
</ROW>
</BCPFORMAT>
Dodatkowe przykłady
Dodatkowe przykłady plików w formacie XML programu i pliki w formacie XML zobacz następujące tematy: