Aracılığıyla paylaş


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

Bu bölümde, xml biçimi dosyaları sözdizimi açıklanmaktadır.Nasıl gerçek xml biçimi dosyaları sözdizimi karşılık gelen görmek için bkz: Örnek xml biçimi dosyaları.Bu bölümde toplu alma nasıl kullandığını da dikkate alır <satır> ve <sütun> öğeleri ve yerleştirme xsi: type değeri bir öğesine veri küme.

xml kullanabilirsiniz biçim dosyası ile bir bcp deyim, bulk INSERT komutunu veya Ekle...SEÇİN * ndan openrowset(bulk...) deyim.

Not

   You can modify a format file to let you bulk import from a data file in which the number and/or order of the fields differ from the number and/or order of table columns.Daha fazla bilgi için bkz: Toplu alma işlemi sırasında sütun alanlarını eşlemek için bir biçim dosyası kullanma.

xml şemasını temel sözdizimi

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

<BCPFORMAT...>

   <RECORD>

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

      />

   </RECORD>

   <ROW>

      <COLUMN SOURCE = "fieldID" NAME = "columnName" xsi:type = "columnType" [...]

      />

   </ROW>

</ BCPFORMAT>

Not

Xsi: type değeri ile ilişkili ek öznitelikleri bir <alan> veya <sütun> öğesi anlatılan daha sonra bu konuda.

Şema öğeleri açıklaması

Bu bölümde her öğesi için xml biçimi dosyaları xml şema tanımlar amacını özetlemektedir.Öznitelikler ayrı bölümlerde bu konunun ilerisinde açıklanmıştır.

  • <BCPFORMAT>
    Bir 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.

  • <KAYDI... />
    Bir veya daha fazlasını içeren karmaşık bir öğe tanımlayan <alan> öğeleri.İçinde alanların bildirilen içinde sipariş biçim dosyası bu alanlar veri dosyasında göründükleri sıradır.

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

    Bu öðenin öznitelikleri açıklanmıştır "özniteliklerinin <alan> öğesi," Bu konuda daha sonra.

  • <SATIR... />
    Bir veya daha fazlasını içeren karmaşık bir öğe tanımlayan <sütun> öğeleri.Sırasını <sütun> öğeleri, sırasına göre bağımsız <alan> öğeleri kayıt tanımı.Bunun yerine, sırasını <sütun> öğeleri bir biçim dosyası sonuç satır kümesi sütun sırasını belirlerVeri alanları hangi sırayla yüklenir karşılık gelen <sütun> öğeleri içinde bildirilmiş <sütun> öğesi.

    Daha fazla bilgi için bkz: "toplu alma nasıl kullandığını <satır> öğesi," Bu konuda daha sonra.

  • <SÜTUN>
    Bir sütunu bir öğesi olarak tanımlar (<sütun>).Her <sütun> karşılık gelen öğe için bir <alan> öğesi (Kimliğine sahip KAYNAĞINDA belirtilen öznitelik , <sütun> öğe).

    Bu öðenin öznitelikleri açıklanmıştır "özniteliklerinin <sütun> öğesi," Bu konuda daha sonra.Ayrıca bkz: "toplu alma nasıl kullandığını <sütun> öğesi," Bu konuda daha sonra.

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

Öznitelikler, <alan> öğesi

Bu bölüm özniteliklerini açıklayan <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ğerlerinden bağımsız.alan bakımından aşağıdaki öznitelikleri açıklanmıştır:

ALAN özniteliğidir

Açıklama

İsteğe bağlı /

Gerekli

ID ="fieldID"

Belirtir mantıksal ad alanın veri dosyasında.Bir alan alana başvurmak için kullanılan anahtar kimliğidir.

<FIELD ID="fieldID"/> maps to <COLUMN SOURCE="fieldID"/>

Gerekli

xsi:type ="fieldType"

Bu, bir xml öğesi örnek türünü tanımlar (bir öznitelik gibi kullanılır) yapısı.Değeri fieldType belirler, isteğe bağlı öznitelikleri (aşağıda) size gereken belirli örnek.

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

LENGTH ="n"

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

Değeri n olmalı pozitif bir tamsayı.

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

PREFIX_LENGTH ="p"

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

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

MAX_LENGTH ="m"

Bu öznitelik içinde depolanan bayt sayısı olan bir verilen alan.Sütun en fazla uzunluğu olmayan bir hedef tablo adı verilir.max_length öznitelik sütun değeri için ayrılan depolama sınırlama bir çıkış karakteri sütun en fazla uzunluğu kısıtlar.Bu openrowset özellikle kullanışlı kullanıldığında işlevın select from yan tümce tümce tümcesinde bulk seçeneği.

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

İsteğe bağlı

COLLATION ="collationName"

ALFABE karakteri alanlar için yalnızca izin verilir.sql listesi için harmanlama Bkz: ad, sql Server harmanlama adı (Transact-sql).

İsteğe bağlı

SONLANDIRICI = "terminator"

Bu öznitelik verileri alan Sonlandırıcı belirtir.Sonlandırıcı herhangi bir karakter olabilir.Sonlandırıcı verilerinin bir parçası olmayan benzersiz bir karakter olmalıdır.

Varsayılan değer olarak, sekme karakteri (\t temsil edilen) alan ayırıcısı olur.Bir paragraf işaretini göstermek için \r\n kullanın.

Xsi: yalnızca bir Type bu öznitelik gerektirir karakter veri ile kullanılan

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

xml xsi: type değeri olan bir öğenin örnek veri türünü tanımlar (bir öznitelik gibi kullanılır) yapısı."Koymak xsi: Type değer bir veri kümesi" kullanma hakkında bilgi için daha sonra bu bölümde.

Xsi: type değeri <alan> öğeyi destekleyen aşağıdaki veri türleri.

<ALAN> xsi: type değerleri

Gerekli xml öznitelikleri

Veri türü için

İsteğe bağlı xml öznitelikleri

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

For more information about Microsoft SQL Server data types, see Veri Türleri (Transact-SQL).

Öznitelikler, <sütun> öğesi

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

<SÜTUN

SOURCE = "fieldID"

NAME = "columnName"

xsi:type = "columnType"

length = "n"

DUYARLIK = "n"

Ölçek = "value"

NULL = {"YES"

"HAYIR" } ]

/>

alan hedef sütununa eşlenen tablo aşağıdaki öznitelikleri kullanarak:

SÜTUN özniteliği

Açıklama

İsteğe bağlı /

Gerekli

SOURCE ="fieldID"

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

<COLUMN SOURCE="fieldID"/> maps to <FIELD ID="fieldID"/>

Gerekli

NAME = "columnName"

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

Gerekli

xsi:type ="ColumnType"

Bu, bir xml öğesi örnek veri türünü tanımlar (bir öznitelik gibi kullanılır) yapısı.Değeri ColumnType belirler, isteğe bağlı öznitelikleri (aşağıda) size gereken belirli örnek.

NotNot
Olası değerler, ColumnType ve bunların ilişkili öznitelikleri listelenen sonraki tablo.

İsteğe bağlı

LENGTH ="n"

Sabit uzunluklu veri türünün örnek uzunluğunu tanımlar.UZUNLUĞU yalnızca bir dize veri türü, xsi: type olduğunda kullanılır.

Değeri n olmalı pozitif bir tamsayı.

İsteğe bağlı (xsi: type dize veri türü ise kullanılabilir)

PRECISION ="n"

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

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

İsteğ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çeğini vardır.

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

İsteğ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, null (herhangi bir değer belirterek değil) belirtir bir sütun boş'U alan değilse ve çalışma -saat hata sonuçları.

Yalnızca düz bir openrowset(bulk...) seçin deyim yoksa nullable öznitelik kullanılır.

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

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

xml xsi: type değeri olan bir öğenin örnek veri türünü tanımlar (bir öznitelik gibi kullanılır) yapısı."Koymak xsi: Type değer bir veri kümesi" kullanma hakkında bilgi için daha sonra bu bölümde.

The <COLUMN> element supports native SQL data types, as follows:

Kategori türü

<SÜTUN> veri türleri

Gerekli xml öznitelikleri

Veri türü için

İsteğe bağlı xml öznitelikleri

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 numarası

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

İkili dize

SQLBINARY ve SQLVARYBIN

Yok.

NULL OLABİLECEK, UZUNLUĞU

Karakterdize

SQLCHAR, SQLVARYCHAR, SQLNCHAR, and SQLNVARCHAR

Yok.

NULL OLABİLECEK, UZUNLUĞU

Önemli notÖnemli

toplu vermek veya sqlxml veri almak için aşağıdaki veri türlerinden kullanın, biçim dosyası: sqlchar veya sqlvarychar (verileri istemci kod sayfa veya örtülü harmanlama kod sayfa gönderilir), sqlnchar veya sqlnvarchar (veri Unicode olarak gönderilir), veya SQLBINARY ya da SQLVARYBIN (veri herhangi bir dönüştürme olmadan gönderilir).

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

Toplu alma nasıl kullandığını &lt;satır&gt; öğesi

The <ROW> element is ignored in some contexts.Mı <satır> bulk Import işlemi bağlıdır işlemi nasıl yapılır öğesi etkileri:

  • the bcp command

    Ne zaman veri yüklendiği hedef tablo, bcp göz ardı eder <satır> bileşeni.Bunun yerine, bcp hedef tablo sütun türlerini temel alan verileri yükler.

  • Transact-SQL ifadeleri (bulk INSERT ve OPENROWSET'ın Bulk satır kümesi sağlayıcı)

    Ne zaman veri alma toplu bir tablo, Transact-SQL ifadelerini kullanan <satır> bileşen oluşturmak giriş satır kümesi.Ayrıca, Transact-SQL ifadeleri altında belirtilen sütun türlerine göre uygun Tür Dönüşümleri gerçekleştirmek <satır> ve buna karşılık gelen sütun hedef tablo.biçim dosyası ve hedef sütun türleri arasında bir uyuşmazlık varsa, belirtilen tablo, fazladan türü dönüştürme gerçekleşir.Bu ek türü dönüştürme karşılaştırıldığında OPENROWSET'ın Bulk satır kümesi sağlayıcı bulk INSERT veya davranış bazı tutarsızlık (yani duyarlılık kaybı) neden olabilir bcp.

    Bilgiler, <satır> öğesi verir satır oluşturulmuş kalmadan ek bir bilgi.Bu nedenle, bir deyim kullanarak satır kümesi kümesi oluşturabilir (seçin * OPENROWSET(BULK datafile FORMATFILE=xmlformatfile).

    Not

    openrowset bulk yan tümce tümce tümce gerektirir bir biçim dosyası (alanının veri türü dönüştürme sütun veri türünü yalnızca bir xml ile kullanılabildiğini unutmayın biçim dosyası).

Toplu alma nasıl kullandığını &lt;sütun&gt; öğesi

Bir tabloya veri alma toplu için <sütun> öğeleri bir biçim dosyası belirterek tablo sütunlar veri dosyası alanı eşlemek:

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

  • alan veri türü İstenen sütun veri türüne dönüştürmek için kullanılan sütun tipi.

Bir alana hiçbir sütun eşleşirse, alan içinde oluşturulan satırları kopyalanır.Bu davranış, bir veri dosyası (farklı tablolardaki) farklı sütunları ile satırları oluşturmak verir.

Benzer şekilde, bir tablodan veri verme toplu için her <sütun> , biçim dosyası eşlemeleri giriş tablo satırın sütun kendi karşılık gelen alana çıktı veri dosyası.

Xsi: Type değer bir veri kümesi koymak

Bir xml belgesini xml şema tanımı (xsd) dil doğrulandığında, xsi: Type değer veri küme konur.xml yükleyerek veri küme xsi: type bilgileri ancak koyabilirsiniz biçim dosyası bir xml belgesine (ö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");
}