Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Database
Saat menggunakan skema XSD untuk menyediakan tampilan XML database relasional , elemen dan atribut skema harus dipetakan ke tabel dan kolom database. Baris dalam tabel/tampilan database akan dipetakan ke elemen dalam dokumen XML. Nilai kolom dalam peta database ke atribut atau elemen.
Ketika kueri XPath ditentukan terhadap skema XSD yang diannotasi, data untuk elemen dan atribut dalam skema diambil dari tabel dan kolom yang dipetakan. Untuk mendapatkan nilai tunggal dari database, pemetaan yang ditentukan dalam skema XSD harus memiliki spesifikasi hubungan dan bidang. Jika nama elemen/atribut bukan nama yang sama dengan nama tabel/tampilan atau kolom yang dipetakannya, anotasi sql:relation dan sql:field digunakan untuk menentukan pemetaan antara elemen atau atribut dalam dokumen XML dan tabel (tampilan) atau kolom dalam database.
sql-relation
Anotasi sql:relation ditambahkan untuk memetakan simpul XML dalam skema XSD ke tabel database. Nama tabel (tampilan) ditentukan sebagai nilai anotasi sql:relation .
Ketika sql:relation ditentukan pada elemen, cakupan anotasi ini berlaku untuk semua atribut dan elemen turunan yang dijelaskan dalam definisi jenis kompleks elemen tersebut, oleh karena itu menyediakan pintasan dalam menulis anotasi.
Anotasi sql:relation juga berguna ketika pengidentifikasi yang valid di Microsoft SQL Server tidak valid di XML. Misalnya, "Detail Pesanan" adalah nama tabel yang valid di SQL Server tetapi tidak di XML. Dalam kasus seperti itu , anotasi sql:relation dapat digunakan untuk menentukan pemetaan, misalnya:
<xsd:element name="OD" sql:relation="[Order Details]">
sql-field
Anotasi bidang sql memetakan elemen atau atribut ke kolom database. Anotasi sql:field ditambahkan untuk memetakan simpul XML dalam skema ke kolom database. Anda tidak dapat menentukan sql:field pada elemen konten kosong.
Contoh
Untuk membuat sampel kerja menggunakan contoh berikut, Anda harus memenuhi persyaratan tertentu. Untuk informasi selengkapnya, lihat Persyaratan untuk Menjalankan Contoh SQLXML.
J. Menentukan anotasi sql:relation dan sql:field
Dalam contoh ini, skema XSD terdiri dari <> jenis kompleks dengan <> dan <> dan atribut ContactID.
Anotasi sql:relation memetakan <elemen Kontak> ke tabel Person.Contact di database AdventureWorks. Anotasi sql:field memetakan <elemen FName> ke kolom FirstName dan< elemen LName> ke kolom LastName.
Tidak ada anotasi yang ditentukan untuk atribut ContactID . Ini menghasilkan pemetaan default atribut ke kolom dengan nama yang sama.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Contact" sql:relation="Person.Contact" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FName"
sql:field="FirstName"
type="xsd:string" />
<xsd:element name="LName"
sql:field="LastName"
type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="ContactID"
type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Untuk menguji sampel kueri XPath terhadap skema
Salin kode skema di atas dan tempelkan ke dalam file teks. Simpan file sebagai MySchema-annotated.xml.
Salin templat berikut di bawah ini dan tempelkan ke dalam file teks. Simpan file sebagai MySchema-annotatedT.xml di direktori yang sama tempat Anda menyimpan MySchema-annotated.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="MySchema-annotated.xml"> /Contact </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (MySchema-annotated.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\SqlXmlTest\MySchema-annotated.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Berikut adalah kumpulan hasil parsial:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="1">
<FName>Gustavo</FName>
<LName>Achong</LName>
</Contact>
.....
</ROOT>