SQL: (SQLXML 4.0) eşleştirilmiş.
XML toplu yükleme işlemleri sql:mapped XSD Şemasındaki beklendiği gibi ek açıklama — diğer bir deyişle, eşleme şemada belirtir. sql:mapped="false" herhangi bir öğe veya öznitelik için karşılık gelen sütun ilişkili veri depolamak XML toplu yükleme denemez.
XML toplu yükleme öğeleri ve öznitelikleri (ya da şemada tanımlanan veya ile XSD Şemasındaki açıklamalı için eşleştirilmemiş yoksayar. sql:mapped="false"). Tüm bağlanılmayan verileri kullanarak sütun belirtilirse taşma sütuna, gider sql:overflow-field.
Örneğin, bu XSD şeması göz önünde bulundurun:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="ROOT" sql:is-constant="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Customers" sql:relation="Cust"
sql:overflow-field="OverflowColumn" >
<xsd:complexType>
<xsd:attribute name="CustomerID" type="xsd:integer" />
<xsd:attribute name="CompanyName" type="xsd:string" />
<xsd:attribute name="City" type="xsd:string" />
<xsd:attribute name="HomePhone" type="xsd:string"
sql:mapped="false" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Çünkü EvTelefonu özniteliği belirtirsql:mapped="false"XML toplu yükleme bu öznitelik, karşılık gelen sütuna eşleşmiyor. Bir taşma sütun (XSD şeması tanımlarOverflowColumn) içinde XML toplu yükleme bu unconsumed depolamaz.
Bir çalışan örneği sınamak için
Aşağıdaki tabloda oluşturma tempdb veritabanı:
USE tempdb CREATE TABLE Cust (CustomerID int PRIMARY KEY, CompanyName varchar(20) NOT NULL, City varchar(20) DEFAULT 'Seattle', OverflowColumn nvarchar(200)) GO
Bu örnekte, sağlanan şema SampleSchema.xml kaydedin.
Aşağıdaki örnek XML verileri SampleXMLData.xml kaydedin:
<ROOT> <Customers CustomerID="1111" CompanyName="Sean Chai" City="NY" HomePhone="111-1111" /> <Customers CustomerID="1112" CompanyName="Dont Know" City="LA" HomePhone="222-2222" /> </ROOT>
XML toplu yükleme yürütmek için kaydedin ve bu yürütme Microsoft Visual Basic komut dosyası kullanan Edition (VBScript) örnek olarak Sample.vbs:
set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0") objBL.ConnectionString = "provider=SQLOLEDB;data source=localhost;database=tempdb;integrated security=SSPI" objBL.ErrorLogFile = "c:\error.log" objBL.CheckConstraints=True objBL.Execute "c:\SampleSchema.xml", "c:\SampleXMLData.xml" set objBL=Nothing
Bu, eşdeğer XDR şeması oluşur:
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<ElementType name="ROOT" sql:is-constant="1">
<element type="Customers" />
</ElementType>
<ElementType name="Customers" sql:relation="Cust"
sql:overflow-field="OverflowColumn" >
<AttributeType name="CustomerID" />
<AttributeType name="CompanyName" />
<AttributeType name="City" />
<AttributeType name="HomePhone" />
<attribute type="CustomerID" />
<attribute type="CompanyName" />
<attribute type="City" />
<attribute type="HomePhone" sql:map-field="0" />
</ElementType>
</Schema>