Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Alapértelmezés szerint egy összetett típusú elem egy XSD annotált sémában a megadott adatbázisban azonos nevű táblázathoz (nézethez) fordul, és egy egyszerű típusú elem vagy attribútum a táblázatban azonos nevű oszlophoz fordul.
Példák
A következő példák alapján működő minták létrehozásához bizonyos követelményeknek kell megfelelned. További információért lásd: Az SQLXML futtatási követelmények példái.
A. Az alapértelmezett leképezés meghatározása
Ebben a példában az XSD sémában nincsenek megjegyzések. A< Person.Contact> elem összetett típusú, ezért alapértelmezés szerint az AdventureWorks adatbázis Person.Contact táblájához egyezik. A Személy.Kapcsolat elem összes attribútuma (ContactID, Keresztnév, Vezetéknév) <egyszerű típusú, és alapértelmezés szerint ugyanazzal a nevű oszlopokkal egyezik meg a Személy.Kapcsolat táblában.>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Person.Contact" >
<xsd:complexType>
<xsd:attribute name="ContactID" type="xsd:string" />
<xsd:attribute name="FirstName" type="xsd:string" />
<xsd:attribute name="LastName" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Egy minta-XPath lekérdezés tesztelése a sémához
Másold le a fenti sémakódot, és illesztsd be egy szövegfájlba. Mentse el a fájlt MySchema.xml.
Másold le a következő sablont, és illesztsd be egy szövegfájlba. Mentsd a fájlt MySchemaT.xml-ként ugyanabba a könyvtárba, ahol MySchema.xmlmentetted.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="MySchema.xml"> /Person.Contact </sql:xpath-query> </ROOT>A leképezési sémához (MySchema.xml) megadott könyvtári út viszonyítja azt a könyvtárat, ahol a sablon mentő. Abszolút út is meghatározható, például:
mapping-schema="C:\SqlXmlTest\MySchema.xml"Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) a sablon végrehajtásához.
További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.
Íme a részleges eredményhalmaz:
<?xml version="1.0" encoding="UTF-8" ?>
<ROOT>
<Person.Contact ContactID="1" FirstName="Gustavo" LastName="Achong"/>
<Person.Contact ContactID="2" FirstName="Catherine" LastName="Abel"/>
...
</ROOT>
B. XML elem leképezése egy adatbázis-oszlophoz
Ebben a példában az alapértelmezett leképezés azért történik, mert nem használnak annotációkat. A< Person.Contact> elem összetett típusú, és az adatbázisban azonos nevű táblázathoz kapcsolódik. A Keresztnév> és a Vezetéknév elemek<, valamint az Alkalmazotti ID attribútumok egyszerű típusúak, ezért ugyanazzal a nevekkel rendelkező oszlopokhoz egyeznek.>< Az egyetlen különbség az előző példához képest, hogy elemeket használnak a Keresztnév és Vezetéknév mezők leképezéséhez.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Person.Contact">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FirstName" type="xsd:string" />
<xsd:element name="LastName" type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="ContactID" type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Egy minta-XPath lekérdezés tesztelése a sémához
Másold le a fenti sémakódot, és illesztsd be egy szövegfájlba. Mentse el a fájlt MySchemaElements.xml.
Hozza létre a következő sablont (MySchemaElementsT.xml), és elmentse ugyanabba a könyvtárba, amit az előző lépésben használtak.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="MySchemaElements.xml"> /Person.Contact </sql:xpath-query> </ROOT>A térképező sémához megadott könyvtárút a sablon mentéséhez viszonyítható. Abszolút út is meghatározható, például:
mapping-schema="C:\SqlXmlTest\MySchemaElements.xml"Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) a sablon végrehajtásához.
További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.
Íme a részleges eredményhalmaz:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Person.Contact ContactID="1">
<FirstName>Gustavo</FirstName>
<LastName>Achong</LastName>
</Person.Contact>
...
</ROOT>
C. XML elem leképezése XML adattípus oszlophoz
Ebben a példában az alapértelmezett leképezés azért történik, mert nem használnak annotációkat. A< Production.ProductModel> elem összetett típusú, és az adatbázisban azonos nevű táblához hasonlít. A ProductModelID attribútum egyszerű típusú, ezért ugyanazzal a nevű oszlopokkal egyezik le. Az egyetlen különbség az előző példákhoz képest, hogy az< utasítások> elem egy olyan oszlophoz fordul, amely az xml adattípust használja az xsd:anyType típussal.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Production.ProductModel">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Instructions" type="xsd:anyType" />
</xsd:sequence>
<xsd:attribute name="ProductModelID" type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Az xml adattípust az SQL Server 2005 (9.x) verzióban vezették be.
Egy minta-XPath lekérdezés tesztelése a sémához
Másold le a fenti sémakódot, és illesztsd be egy szövegfájlba. Mentse el a fájlt MySchemaXmlAnyElements.xml.
Hozza létre a következő sablont (MySchemaXmlAnyElementsT.xml), és elmentse ugyanabba a könyvtárba, amit az előző lépésben használtak.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="MySchemaXmlAnyElements.xml"> /Production.ProductModel[@ProductModelID=7] </sql:xpath-query> </ROOT>A térképező sémához megadott könyvtárút a sablon mentéséhez viszonyítható. Abszolút út is meghatározható, például:
mapping-schema="C:\SqlXmlTest\MySchemaXmlAnyElements.xml"Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) a sablon végrehajtásához.
További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.
Íme a részleges eredményhalmaz:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Production.ProductModel ProductModelID="7">
<Instructions>
<root xmlns="http:
//schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstru
ctions">
...
</root>
<Instructions>
</Production.ProductModel>
</ROOT>
Lásd még:
Annotált séma biztonsági szempontok (SQLXML 4.0)
XML-adatok (SQL Server)
xml adattípus támogatás az SQLXML 4.0-ban