Aracılığıyla paylaş


xml biçimi dosyaları (SQL Server)

SQL Server 2012yazma sözdizimini tanımlayan xml şeması sağlar xml biçimi dosyaları toplu veri alma için bir SQL Servertablosu. xml biçimi dosyaları bu şeması, xml şeması tanım dili (xsdl) tanımlanan uygun olmalıdır. xml biçimi dosyaları, yalnızca desteklenen ne zaman SQL Serveraraçları ile birlikte yüklenen SQL ServerNative Client.

xml biçimi dosyası ile kullanabileceğiniz bir bcpkomutu, bulk INSERT deyimi ya da Ekle... SEÇİN * openrowset(bulk...) from deyimi. bcpOtomatik olarak bir tablo için; bir xml biçimi dosyası oluşturmak komut verir daha fazla bilgi için bkz: BCP yardımcı programı.

[!NOT]

İki tür biçim dosyası dışa ve içe aktarma toplu için desteklenir: - xml biçimi dosyaları ve xml biçimi dosyaları. xml biçimi dosyaları olmayan xml biçimi dosyaları için esnek ve güçlü bir alternatif sağlar. Olmayan xml biçimi dosyaları hakkında daha fazla bilgi için bkz: Olmayan xml biçimi dosyaları (SQL Server).

Bu Konuda

  • xml biçimi dosyaları yararları

  • xml biçimi dosyaları yapısı

  • Şema sözdizimi için xml biçimi dosyaları

  • Örnek xml biçimi dosyaları

  • ilişkili Görevler

  • İlişkili İçerik

xml biçimi dosyaları yararları

  • xml biçimi dosyaları kendini, okumak, oluşturmak ve genişletmek kolaylaştırır. Onlar insan okunabilir, veri toplu işlemleri sırasında nasıl yorumlanacağını anlamak kolaylaşır.

  • xml biçimi dosyaları, hedef sütunların veri türlerini içerir. xml kodlama açıkça veri türleri ve veri dosyası ve ayrıca veri öğelerini ve tablo sütunları arasında eşleme veri öğeleri açıklar.

    Bu, veri dosyasındaki verileri nasıl temsil ve dosyasındaki her alanıyla ilişkili veri türü arasında ayrım sağlar. Örneğin, bir veri dosyası verileri karakter gösterimi içeriyorsa, karşılık gelen sql sütun türü kaybolur.

  • xml biçimi dosyası veri dosyasındaki bir tek büyük nesne (lob) veri türü içeren bir alan yüklenmesini sağlar.

  • xml biçimi dosyası gelişmiş olabilir henüz onun önceki sürümleri ile uyumlu kalır. Ayrıca, xml kodlama netlik belirtilen veri dosyası için birden fazla biçim dosyalarının oluşturulmasını kolaylaştırır. Sütunları farklı tablo veya görünümlerin tümünü veya bir bölümünü veri alanlarını eşlemek varsa bu yöntem yararlıdır.

  • xml sözdizimi, operasyonun yönünü bağımsızdır; başka bir deyişle, sözdizimi toplu verme ve toplu alma için aynıdır.

  • Tablo veya görünümlerin bölümlenmemiş ve toplu verme veri toplu alma verileri xml biçimi dosyaları kullanabilirsiniz.

  • Hedef belirleme openrowset(bulk...) işlevi için tablo isteğe bağlı. Bunun nedeni, veri dosyasından veri okumaya xml biçimi dosyası işlevini kullanır.

    [!NOT]

    Hedef tablo ile gerekli bcpkomutu ve hedefi kullanır bulk INSERT deyimi tablo sütun türü dönüştürme yapmak.

[Üst]

xml biçimi dosyaları yapısı

Olmayan xml biçimi dosyası gibi bir xml biçimi dosyası biçimi ve yapısı veri alanlarının veri dosyasında tanımlar ve bu veri alanlarını bir tek hedef tablodaki sütun eşleştirir.

xml biçimi dosyası iki ana bileşeni, sahip <kaydı> ve <satır>:

  • <Rekor> veri dosyasında depolanan verileri tanımlar.

    Her <kaydı> öğesi içeren bir veya daha fazla <alan> öğeleri. Bu öğeleri veri dosyasındaki alanlar karşılık gelir. Temel sözdizimi aşağıdaki gibidir:

    <REKOR>

       <FIELD .../> [ ...n ]

    </ KAYIT>

    Her <alan> öğesi, belirli bir veri alanının içeriğini açıklar. Alan, yalnızca bir tablo sütununda eşlenebilir. Tüm alanlar için sütunlar eşlenen gerekir.

    Bir alan veri dosyası, sabit veya değişken uzunluk veya sonlandırılmış karakter olabilir. A alan değeri olarak temsil edilebilir: (tek baytlı gösterimi kullanarak) bir karakter, bir geniş karakter (Unicode iki baytlık gösterimi kullanarak), yerel veritabanı biçimi veya dosya adı. Alan değeri dosya adı olarak gösterilir, dosya adı hedef tablodaki bir blob sütun değeri içeren dosyayı işaret eder.

  • <Satır> dosyasından veri içine alındığında bir veri dosyasından veri satırlarını oluşturmak açıklar bir SQL Servertablosu.

    A <satır> eleman içeren bir dizi <sütun> öğeleri. Bu öğeler, tablo sütunları karşılık gelir. Temel sözdizimi aşağıdaki gibidir:

    <ROW>

       <SÜTUN... /> [...n ]

    </ SATIR>

    Her <sütun> öğesi eşlenen veri dosyasında tek bir alana. Sırasını <sütun> öğeleri <satır> öğesi tanımlar siparişin hangi onlar toplu işlemi tarafından döndürülür. xml biçimi dosyası her atar <sütun> öğesi bir toplu alma işleminin hedef tablosunda sütun herhangi bir ilişkisi olan yerel ad.

[Üst]

Şema sözdizimi için xml biçimi dosyaları

Bu bölüm, öğelerin özetini ve xml biçimi dosyaları xml şema öznitelikleri içerir. Biçim dosyası sözdizimi, operasyonun yönünü bağımsızdır; başka bir deyişle, sözdizimi toplu verme ve toplu alma için aynıdır. Bu bölümde ayrıca toplu alma nasıl kullandığını düşünüyor <satır> ve <sütun> elemanları ve nasıl bir öğesi xsi: Type değeri veri kümesi koymak.

Nasıl gerçek xml biçimi dosyaları sözdizimi karşılık görmek için bkz: Örnek xml biçimi dosyaları, bu konuda.

[!NOT]

Bildirmek için bir biçim dosyası değişiklik yapabileceğiniz toplu içinde numarası ve/veya alanların farklı sayı ve/veya tablo sütunların sırası gelen verileri dosyadan al. Daha fazla bilgi için, bkz. Biçimi dosyaları (SQL Server) veri verme veya alma için.

Bu bölümde:

  • xml şemasını temel sözdizimi

  • Toplu almayı nasıl kullandığını <satır> öğesi

  • Toplu almayı nasıl kullandığını <sütun> öğesi

  • Veri kümesi xsi: Type değer koyarak

xml şemasını temel sözdizimi

Bu sözdizimi deyimleri yalnızca öğeleri göster (<bcpformat>, <kaydı>, <alan>, <satır>, ve <sütun>) ve kendi temel öznitelikler.

<BCPFORMAT...>

   <REKOR>

      <ALAN ID = "fieldID'' xsi: type = "fieldType'' [...]

      />

   </ KAYIT>

   <ROW>

      <Sütun kaynağı = "fieldID'' name = "columnName'' xsi: type = "columnType'' [...]

      />

   </ SATIR>

</ BCPFORMAT>

[!NOT]

Ek öznitelikler xsi: Type değeri ile ilişkili bir <alan> veya <sütun> öğe bu konunun ilerisinde açıklanmıştır.

Bu bölümde:

  • Şema öğeleri

  • Öznitelikler, <alan > öğesi (ve xsi: Type değerleri <alan > öğesi)

  • Öznitelikler, <sütun > öğesi ve (xsi: Type değerleri <sütun > öğesi)

[Üst]

Şema öğeleri

Bu bölümde, xml şeması xml biçimi dosyaları tanımlayan her öğe amacını özetlemektedir. Öznitelikler, bu konunun ilerleyen bölümlerinde ayrı bölümlerde açıklanmıştır.

  • <BCPFORMAT>
    Tablo Satırı tablosundaki sütunlar için belirtilen veri dosyası ve onun yazışma kaydı yapısını tanımlayan dosya biçimi öğedir.

  • <KAYIT... />
    Birini veya daha fazlasını içeren karmaşık bir öğe tanımlayan <alan> öğeleri. Hangi alanların biçimi dosyasında bildirilen bu alanlar veri dosyasında göründükleri sırayı sırasıdır.

  • <ALAN... />
    Verileri içeren veri dosyasında bir alanı tanımlar.

    Bu öğe öznitelikleri açıklanmıştır niteliklerini <alan > öğesi, bu konuda.

  • <SATIR... />
    Birini veya daha fazlasını içeren karmaşık bir öğe tanımlayan <sütun> öğeleri. Sırasını <sütun> elements of the order of bağımsız <alan> bir kaydı tanımı unsurları. Aksine, sırasını <sütun> biçimi dosyasına öğeleri sonuç satır kümesi sütun sırasını belirler. Veri alanları, hangi sırayla yüklenir ilgili <sütun> elemanları ilan içinde <sütun> öğesi.

    Daha fazla bilgi için bkz: nasıl Bulk Import kullandığı <satır > öğesi, bu konuda.

  • <SÜTUN>
    Bir sütunu bir öğesi olarak tanımlar (<sütun>). Her <sütun> eleman karşılık bir <alan> öğesi (kimliği belirtilen kaynak özniteliğinde <sütun> öğesi).

    Bu öğe öznitelikleri açıklanmıştır niteliklerini <sütun > öğesi, bu konuda. Ayrıca bakınız, nasıl Bulk Import kullandığı <sütun > öğesi, bu konuda.

  • </ BCPFORMAT>
    Biçim dosyasını sonlandırmak için gerekli.

[Üst]

Öznitelikler, <alanı> öğesi

Bu bölüm özniteliklerini açıklar <alan> aşağıdaki şema sözdizimini özetlenen öğe:

<ALAN

   ID = "fieldID"

   xsi**:**type = "fieldType"

    LENGTH**=** "n"

   PREFIX_LENGTH ="p"

    MAX_LENGTH**=** "m"

    COLLATION**=** "collationName"

    TERMINATOR**=** "terminator"

/>

Her <alan> öğesi diğer bağımsız. Bir alan açısından aşağıdaki öznitelikleri açıklanmaktadır:

ALAN özniteliği

Açıklama

İsteğe bağlı /

Gerekli

ID = "fieldID"

Mantıksal ad alanı, veri dosyasını belirtir. Alan kimliği alanına başvurmak için kullanılan anahtarıdır.

<ALAN kodu= "fieldID"/> eşler <sütun kaynak= "fieldID"/>

Gerekli

xsi:type = "fieldType"

Bu xml öğesi örneği türünü tanımlar (bir öznitelik gibi kullanılır) inşa etmek. Değeri fieldTypebelirli bir durumda isteğe bağlı öznitelikler (aşağıda) size gereken belirler.

(Veri türüne bağlı olarak) gerekli

LENGTH = "n"

Bu öznitelik uzunluğu için bir sabit uzunluklu veri türünün bir örneğini tanımlar.

Değeri npozitif bir tamsayı olmalı.

Xsi: Type değeri gerekli olmadıkça isteğe bağlı

PREFIX_LENGTH ="p"

Bu öznitelik, ikili veri gösterimi için önek uzunluğunu tanımlar. PREFIX_LENGTH değeri p, aşağıdakilerden biri olmalıdır: 1, 2, 4 veya 8.

Xsi: Type değeri gerekli olmadıkça isteğe bağlı

max_length ="m"

Bu, belirli bir alanda depolanan bayt sayısını özniteliğidir. Olmayan hedef tablo, sütun maksimum uzunluklu bilinmemektedir. max_length öznitelik sütun değeri için ayrılan bellek sınırlama çıktı karakter sütunu, en fazla uzunluğunu sınırlar. Bu, özellikle bir select from yan tümcesinde openrowset işlevini'nın bulk seçeneği kullanılırken uygundur.

Değeri mpozitif bir tamsayı olmalı. Varsayılan olarak, en fazla uzunluk 8000 karakteri için ise bir char sütun ve 4000 karakter için bir nchar sütun.

İsteğe bağlı

HARMANLAMA ="collationName"

HARMANLAMA yalnızca karakter alanları için izin verilir. sql harmanlamayı adları listesi için bkz: SQL Server harmanlama adı (Transact-sql).

İsteğe bağlı

TERMINATOR = "terminator"

Bu öznitelik verileri alan Sonlandırıcı belirtir. Terminatör, herhangi bir karakter olabilir. Sonlandırıcı verilerin parçası olmayan benzersiz bir karakter uzunluğunda olmalıdır.

Varsayılan alan Sonlandırıcı sekme karakteri (\t temsil edilen) ' dir. Bir paragraf işaretini göstermek için \r\n kullanın.

Xsi: sadece bir Type bu özniteliği gerektirir karakter veri ile kullanılan

[Üst]

Xsi: Type değerleri <alan> öğesi

xml xsi: Type değeri olan bir öğenin bir örneği veri türünü tanımlar (bir öznitelik gibi kullanılır) inşa etmek. "Koyarak xsi: Type değer veri kümesi," kullanma hakkında bilgi için daha sonra bu bölümde.

Xsi: Type değeri <alan> öğesi aşağıdaki veri türlerini destekler.

<ALAN> xsi: Type değerleri

Gereken xml Attribute (s)

Veri türü için

İsteğe bağlı xml Attribute (s)

Veri türü için

NativeFixed

LENGTH

Yok.

NativePrefix

PREFIX_LENGTH

MAX_LENGTH

CharFixed

LENGTH

HARMANLAMA

NCharFixed

LENGTH

HARMANLAMA

CharPrefix

PREFIX_LENGTH

MAX_LENGTH, HARMANLAMA

NCharPrefix

PREFIX_LENGTH

MAX_LENGTH, HARMANLAMA

CharTerm

TERMINATOR

MAX_LENGTH, HARMANLAMA

NCharTerm

TERMINATOR

MAX_LENGTH, HARMANLAMA

Hakkında daha fazla bilgi için Microsoft  SQL Serverbkz: veri türleri, Veri Türleri (Transact-SQL).

[Üst]

Öznitelikler, <sütun> öğesi

Bu bölüm özniteliklerini açıklar <sütun> aşağıdaki şema sözdizimini özetlenen öğe:

<SÜTUN

   Kaynak = "fieldID''

   name = "columnName''

   xsi: type = "columnType''

   [Uzunluk = "n'' ]

   [Duyarlık = "n'' ]

   [scale = "value'' ]

   [NULL = {"EVET"

"HAYIR" } ]

/>

Alan aşağıdaki öznitelikleri kullanarak hedef tablodaki sütun eşleştirilir:

SÜTUN özniteliği

Açıklama

İsteğe bağlı /

Gerekli

SOURCE = "fieldID"

Sütun için eşleştirilen alan kimliğini belirtir.

<SÜTUN kaynak= "fieldID"/> eşler <alan kimliği= "fieldID"/>

Gerekli

name = "columnName''

Biçim dosyası tarafından temsil edilen satır kümesi sütun adını belirtir. Bu sütun adı sonuç kümesinde sütun tanımlamak için kullanılır ve bu hedef tabloda kullanılan sütun adı karşılık yok.

Gerekli

xsi:type = "ColumnType"

Bu xml öğesi örneği veri türünü tanımlar (bir öznitelik gibi kullanılır) inşa etmek. Değeri ColumnTypebelirli bir durumda isteğe bağlı öznitelikler (aşağıda) size gereken belirler.

NotNot
Olası değerler ColumnTypeve bunların ilgili özniteliklerinin sonraki tabloda listelenen.

İsteğe bağlı

LENGTH = "n"

Sabit uzunluklu veri türünün bir örneği uzunluğunu tanımlar. UZUNLUĞU, xsi: Type dize veri türü olduğunda kullanılır.

Değeri npozitif bir tamsayı olmalı.

Isteğe bağlı (xsi: Type dize veri türü ise kullanılabilir)

HASSAS ="n"

Birkaç basamak sayısını gösterir. Örneğin, 123.45 sayısı 5 hassas vardır.

Değer, pozitif bir tamsayı olmalıdır.

Isteğe bağlı (xsi: Type değişken-sayı veri türü ise kullanılabilir)

SCALE = "int"

Bir sayıyı ondalık noktanın sağındaki basamak sayısını gösterir. Örneğin, 123.45 sayısı 2 ölçekli vardır.

Değer bir tamsayı olmalıdır.

Isteğe bağlı (xsi: Type değişken-sayı veri türü ise kullanılabilir)

NULLABLE = { "YES"

"NO" }

Sütun null değerleri kabul edilebilir olup olmadığını gösterir. Bu öznitelik alanları tamamen bağımsızdır. Ancak, bir sütun NULL olabilecek değil ve alanı boş (herhangi bir değer belirterek değil) belirtiyorsa, bir çalışma zamanı hatası oluşur.

Sadece eğer bir düz seçin gelen openrowset(bulk...) ifadesi NULL özniteliği kullanılır.

Isteğe bağlı (tüm veri türleri için kullanılabilir)

[Üst]

Xsi: Type değerleri <sütun> öğesi

xml xsi: Type değeri olan bir öğenin bir örneği veri türünü tanımlar (bir öznitelik gibi kullanılır) inşa etmek. "Koyarak xsi: Type değer veri kümesi," kullanma hakkında bilgi için daha sonra bu bölümde.

<Sütun> öğeyi destekleyen yerel sql veri türleri aşağıdaki gibi:

Kategori türü

<SÜTUN> veri türleri

Gereken xml Attribute (s)

Veri türü için

İsteğe bağlı xml Attribute (s)

Veri türü için

Sabit

SQLBIT, SQLTINYINT, SQLSMALLINT, SQLINT, SQLBIGINT, SQLFLT4, SQLFLT8, SQLDATETIME, SQLDATETIM4, SQLDATETIM8, SQLMONEY, SQLMONEY4, SQLVARIANT, and SQLUNIQUEID

Yok.

NULL OLABİLECEK

Değişken sayısı

SQLDECIMAL ve SQLNUMERIC

Yok.

NULL OLABİLECEK, DUYARLIK, ÖLÇEK

LOB

SQLIMAGE, CharLOB, SQLTEXT, and SQLUDT

Yok.

NULL OLABİLECEK

Karakter lob

SQLNTEXT

Yok.

NULL OLABİLECEK

İkil dizge

SQLBINARY ve SQLVARYBIN

Yok.

NULL OLABİLECEK, UZUNLUĞU

Karakter dizesi

SQLCHAR, SQLVARYCHAR, SQLNCHAR, and SQLNVARCHAR

Yok.

NULL OLABİLECEK, UZUNLUĞU

Önemli notÖnemli

Toplu verme veya sqlxml veri almak için biçim dosyanızda aşağıdaki veri türlerinden birini kullanın: sqlchar veya sqlvarychar (verileri istemci kod sayfası veya tarafından harmanlama açık kod sayfası gönderilir), sqlnchar veya sqlnvarchar, (veri Unicode olarak gönderilir) veya SQLBINARY veya SQLVARYBIN (verileri herhangi bir dönüştürme olmadan gönderilir).

Hakkında daha fazla bilgi için SQL Serverbkz: veri türleri, Veri Türleri (Transact-SQL).

[Üst]

Toplu almayı nasıl kullandığını <satır> öğesi

<Satır> öğesi bazı bağlamlarda yoksayılır. Yoksa <satır> işleminin nasıl gerçekleştirildiğini bağlıdır bir toplu alma işlemi öğe etkiler:

  • bcpkomutu

    Verileri hedef tabloya yüklendiğinde bcpyok sayar <satır > bileşen. Bunun yerine, bcphedef tablodaki sütun türlerini temel verileri yükler.

  • Transact-SQL(ve)'ın openrowset toplu satır kümesi sağlayıcı bulk INSERT deyimleri

    Ne zaman bir tabloya veri alma toplu Transact-SQLdeyimleri kullanın <satır > giriş satır kümesi oluşturmak için bileşen. Ayrıca, Transact-SQLtabloların altında belirtilen sütun türlerine göre uygun türü dönüştürmeleri gerçekleştirmek <satır > ve hedef tablodaki karşılık gelen sütun. Biçim dosyasını ve hedef tablodaki sütun türlerini belirtilen arasında bir uyumsuzluk var, bir ilave türü dönüştürme gerçekleşir. Bu ekstra türü dönüştürme, davranış bulk INSERT veya OPENROWSET'ın toplu satır kümesi sağlayıcı olarak karşılaştırmak-e doğru biraz farklılık (yani duyarlılık kaybı) neden olabilir bcp.

    Bilgi <satır> öğesi verir herhangi bir ek bilgi gerektirmeden inşa edilecek bir satır. Bu nedenle, bir select deyimi kullanarak bir satır oluşturabilir (seçin * from openrowset (bulk datafileFORMATFILE =xmlformatfile).

    [!NOT]

    openrowset bulk yan tümcesi, bir biçim dosyası (Not alan veri türünden bir sütunun veri türü dönüştürme yalnızca xml biçimi dosyası ile kullanılabilir) gerektirir.

[Üst]

Toplu almayı nasıl kullandığını <sütun> öğesi

Bir tabloya veri alma toplu <sütun> tablo sütunları belirterek bir veri dosyası alan biçimi dosyasına öğeleri göster:

  • Veri dosyası satırı içindeki her alanın konumu.

  • Sütun türü, alanın veri türü istenen sütun veri türüne dönüştürmek için kullanılır.

Hiçbir sütun alan eşlenmişse alanı oluşturulan satırları kopyalanmaz. Bu davranış, bir veri dosyası (farklı tablolardaki) farklı sütunları ile satırları oluşturmak verir.

Benzer şekilde, bir tablodan veri verme toplu her <sütun> biçiminde dosya çıkış veri dosyasındaki ilgili kendi alanına giriş tablo satırının sütun eşleştirir.

[Üst]

Veri kümesi xsi: Type değer koyarak

Bir xml belgesi ile xml şema tanımı (xsd) dil doğrulandığında, xsi: Type değeri veri kümesi koymayın. Ancak, sen-ebilmek koymak içine veri kümesi xsi: Type bilgi yükleyerek, bir xml belgesine xml biçimi dosyası (örneğin, myDoc), aşağıdaki kod parçasında gösterildiği gibi:

...;
myDoc.LoadXml(xmlFormat);
XmlNodeList ColumnList = myDoc.GetElementsByTagName("COLUMN");
for(int i=0;i<ColumnList.Count;i++)
{
   Console.Write("COLUMN: xsi:type=" +ColumnList[i].Attributes["type",
      "http://www.w3.org/2001/XMLSchema-instance"].Value+"\n");
}

[Üst]

Örnek xml biçimi dosyaları

Bu bölümde durumlar da dahil olmak üzere, çeşitli xml biçimi dosyaları kullanma hakkında bilgi içeren bir Adventure Worksörnek.

[!NOT]

Aşağıdaki örneklerde gösterildiği veri dosyalarında <tab>bir veri dosyasında bir sekme karakteri gösterir ve <return>bir satırbaşı gösterir.

Örnek xml biçimi dosyaları, aşağıdaki gibi kullanarak önemli yönleri gösterilmektedir:

  • Tablo sütunları aynı karakter veri alanları sıralama

  • Veri alanları sıralama ve sütunları farklı tablo

  • Bir veri alanı atlama

  • Farklı türde alanlar için sütunlar eşleme

  • Bir tablo xml verilerini eşleme

  • Sabit uzunluklu veya sabit genişlikli alanlar alma

  • Ek örnek

[!NOT]

Biçimi dosyaları oluşturma hakkında daha fazla bilgi için bkz: (SQL Server) biçimi dosyası oluşturma.

A.Tablo sütunları aynı karakter veri alanları sıralama

Aşağıdaki örnek, karakter veri üç alan içeren bir veri dosyası tanımlayan xml biçimi dosyası gösterir. Biçimi dosyası veri dosyasını üç sütun içeren bir tablo eşleştirir. Veri alanları tablo sütunları ile bire bir karşılık gelir.

Tablo (satır): kişi (yaş int, FirstName varchar(20), LastName varchar(30))

Veri dosyası (kayıt): yaş<sekmesini>ad<sekmesini>Soyadı<dönüş>

Şu xml biçimi dosyası tabloya veri dosyasından okur.

De <RECORD>öğesi, veri değerleri üç alanları karakter veri gibi biçim dosyasını temsil eder. Her alan için TERMINATORözniteliği gösterir veri değeri izleyen Sonlandırıcı.

Veri alanları tablo sütunları ile bire bir karşılık gelir. İçinde <ROW>öğe biçim dosyasını Sütun eşlemeleri Ageilk alana, sütun FirstNameikinci alan ve sütun LastNameüçüncü alana.

<?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>

[!NOT]

İçin eşdeğer AdventureWorks2012 bkz: Örneğin, (SQL Server) biçimi dosyası oluşturma.

[Üst]

B.Veri alanları sıralama ve sütunları farklı tablo

Aşağıdaki örnek, karakter veri üç alan içeren bir veri dosyası tanımlayan xml biçimi dosyası gösterir. Biçimi dosyası veri dosyasını veri dosyasının alanları farklı şekilde sıralanmış üç sütun içeren bir tablo eşleştirir.

Tablo (satır): kişi (yaş int, FirstName varchar(20), LastName varchar(30))

Veri dosyası (kayıt): yaş<sekmesini>Soyadı<sekmesini>ad<dönüş>

De <RECORD>öğesi, veri değerleri üç alanları karakter veri gibi biçim dosyasını temsil eder.

İçinde <ROW>öğe biçim dosyasını Sütun eşlemeleri Ageilk alana, sütun FirstNameiçin sütunFirstNameÜçüncü alan ve sütun LastNameikinci alana.

<?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>

[!NOT]

İçin eşdeğer AdventureWorks2012 bkz: Örneğin, Tablo Sütunlar veri dosyası alanlarını (SQL Server) eşlemek için bir biçim dosyası kullanma.

[Üst]

C.Bir veri alanı atlama

Aşağıdaki örnek, karakter veri dört alanları içeren bir veri dosyası açıklayan bir xml biçimi dosyası gösterir. Biçimi dosyası veri dosyasını üç sütun içeren bir tablo eşleştirir. İkinci veri alan bir tablo sütununa karşılık gelmiyor.

Tablo (satır): kişi (yaş int, FirstName Varchar(20), LastName Varchar(30))

Veri dosyası (kayıt): yaş<sekmesini>EmployeeID<sekmesini>ad<sekmesini>Soyadı<dönüş>

De <RECORD>öğe, biçim dosyasını temsil eder veri değerleri dört alanları karakter veri gibi. Her alan için veri değeri izleyen terminator Sonlandırıcı özniteliği belirtir.

İçinde <ROW>öğe biçim dosyasını Sütun eşlemeleri Ageilk alana, sütun FirstNameiçin sütunFirstNameÜçüncü alan ve sütun LastNamedördüncü alana.

<? 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="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>

[!NOT]

İçin eşdeğer AdventureWorks2012 bkz: Örneğin, Atla veri alanı (SQL Server) için bir biçim dosyası kullanma.

[Üst]

D.Eşleme <alan> xsi: Type için <sütun> xsi: Type

Aşağıdaki örnek, farklı türde alanlar ve bunların eşlemelere sütunları gösterir.

<?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>

[Üst]

E.Bir tablo xml verilerini eşleme

Aşağıdaki örnek, boş bir iki sütunlu tablo oluşturur (t_xml), hangi ilk sütuna eşleştirir içinde intveri türü ve ikinci sütun eşlemeleri için xmlveri türü.

CREATE TABLE t_xml (c1 int, c2 xml)

Şu xml biçimi dosyası veri dosyasını tabloya yük olur 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>

[Üst]

F.Sabit uzunluklu veya sabit genişlikli alanlar alma

Aşağıdaki örnekte, sabit alanları açıklanmıştır 10ya 6her karakter. Bu alan uzunlukları/genişlikleri olarak biçim dosyasını temsil eden LENGTH="10"ve LENGTH="6", sırasıyla. Her satır veri dosyaları uçları ile bir satır başı satır besleme olarak biçim dosyasını temsil eden kombinasyonu {cr} {lf}, 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>

[Üst]

Ek Örnekler

Olmayan xml biçimi dosyaları ve xml biçimi dosyaları ek örnekler için aşağıdaki konulara bakın:

[Üst]

ilişkili Görevler

[Üst]

İlişkili İçerik

Yok.

Ayrıca bkz.

Başvuru

Veri Türleri (Transact-SQL)

Kavramlar

Toplu alma ve verme veri (SQL Server)

Olmayan xml biçimi dosyaları (SQL Server)

Biçimi dosyaları (SQL Server) veri verme veya alma için