Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
XML Toplu Yükleme, XSD şemasında sql:mapped açıklamasını beklendiği gibi işler; yani, eşleme şeması herhangi bir eleman veya öznitelik için sql:mapped="false" belirtiyorsa, XML Toplu Yük ilgili veriyi ilgili sütunda saklamaya çalışmaz.
XML Toplu Yük, eşlenmemiş öğeleri ve öznitelikleri görmezden gelir (ya şemada tanımlanmadıkları için ya da XSD şemasında sql:mapped="false" ile annot edildikleri için). Eşlenmemiş tüm veriler, sql:overflow-field kullanılarak belirtilmişse, taşma sütununa gider.
Örneğin, şu XSD şemasını 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>
HomePhone özniteliği sql:mapped="false" belirttiği için, XML Toplu Yük bu özniteliği ilgili sütuna eşlemez. XSD şeması, XML Toplu Yük'ün bu tüketilmeyen veriyi depoladığı bir taşma sütununu (OverflowColumn) tanımlar.
Çalışan bir örnek test etmek için
tempdb veritabanında aşağıdaki tabloyu oluşturun:
USE tempdb CREATE TABLE Cust (CustomerID int PRIMARY KEY, CompanyName varchar(20) NOT NULL, City varchar(20) DEFAULT 'Seattle', OverflowColumn nvarchar(200)) GOBu örnekte verilen şemayı SampleSchema.xmlolarak kaydedin.
Aşağıdaki örnek XML verilerini SampleXMLData.xmlolarak 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 çalıştırmak için, bu Microsoft Visual Basic Scripting Edition (VBScript) örneğini Sample.vbs olarak kaydedip çalıştırın:
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ıdır:
<?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>