Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie ein XSD-Schema verwenden, um eine XML-Ansicht der relationalen Datenbank bereitzustellen, müssen die Elemente und Attribute des Schemas Tabellen und Spalten der Datenbank zugeordnet werden. Die Zeilen in der Datenbanktabelle/-ansicht werden Elementen im XML-Dokument zugeordnet. Die Spaltenwerte in der Datenbank sind Attributen oder Elementen zugeordnet.
Wenn XPath-Abfragen anhand des kommentierten XSD-Schemas angegeben werden, werden die Daten für die Elemente und Attribute im Schema aus den Tabellen und Spalten abgerufen, denen sie zugeordnet sind. Um einen einzelnen Wert aus der Datenbank abzurufen, muss die im XSD-Schema angegebene Zuordnung sowohl beziehungs- als auch Feldspezifikation aufweisen. Wenn der Name eines Elements/Attributs nicht derselbe Name wie der Tabellen-/Ansichts- oder Spaltenname ist, dem es zugeordnet ist, werden die sql:relation Zuordnungen sql:field zwischen einem Element oder Attribut in einem XML-Dokument und der Tabelle (Ansicht) oder Spalte in einer Datenbank angegeben.
sql-relation
Die sql:relation Anmerkung wird hinzugefügt, um einem XML-Knoten im XSD-Schema einer Datenbanktabelle zuzuordnen. Der Name einer Tabelle (Ansicht) wird als Wert der sql:relation Anmerkung angegeben.
Wenn sql:relation für ein Element angegeben wird, gilt der Bereich dieser Anmerkung für alle Attribute und untergeordneten Elemente, die in der komplexen Typdefinition dieses Elements beschrieben werden, wodurch eine Verknüpfung in Schreibanmerkungen bereitgestellt wird.
Die sql:relation Anmerkung ist auch hilfreich, wenn bezeichner, die in Microsoft SQL Server gültig sind, in XML nicht gültig sind. Beispielsweise ist "Bestelldetails" ein gültiger Tabellenname in SQL Server, aber nicht in XML. In solchen Fällen kann die sql:relation Anmerkung verwendet werden, um die Zuordnung anzugeben, z. B.:
<xsd:element name="OD" sql:relation="[Order Details]">
sql-field
Die sql-field Anmerkung ordnet ein Element oder Attribut einer Datenbankspalte zu. Die sql:field Anmerkung wird hinzugefügt, um einen XML-Knoten im Schema einer Datenbankspalte zuzuordnen. Sie können für ein leeres Inhaltselement nicht angeben sql:field .
Beispiele
Es müssen bestimmte Anforderungen erfüllt sein, damit aus den folgenden Beispielen funktionierende Beispiele erstellt werden können. Weitere Informationen finden Sie unter Anforderungen für das Ausführen von SQLXML-Beispielen.
Ein. Angeben der sql:relation- und sql:field-Anmerkungen
In diesem Beispiel besteht das XSD-Schema aus einem <Contact-Element> vom komplexen Typ mit <untergeordneten FName- und LName-Elementen>>und dem ContactID-Attribut<.
Die sql:relation Anmerkung ordnet das <Contact-Element> der Tabelle "Person.Contact" in der AdventureWorks-Datenbank zu. Die sql:field Anmerkung ordnet das <FName-Element> der Spalte "FirstName" und dem <LName-Element> der Spalte "LastName" zu.
Für das ContactID-Attribut wird keine Anmerkung angegeben. Dies führt zu einer Standardzuordnung des Attributs zur Spalte mit demselben Namen.
<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>
So testen Sie eine XPath-Beispielabfrage für das Schema
Kopieren Sie den oben stehenden Schemacode, und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei als MySchema-annotated.xml.
Kopieren Sie die folgende Vorlage unten, und fügen Sie sie in eine Textdatei ein. Speichern Sie die Datei als MySchema-annotatedT.xml im selben Verzeichnis, in dem Sie MySchema-annotated.xmlgespeichert haben.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="MySchema-annotated.xml"> /Contact </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (MySchema-annotated.xml) angegebene Verzeichnispfad ist relativ zum Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:
mapping-schema="C:\SqlXmlTest\MySchema-annotated.xml"Erstellen und verwenden Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs), um die Vorlage auszuführen.
Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML-Abfragen.
Im Folgenden wird ein Teil des Resultsets aufgeführt:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="1">
<FName>Gustavo</FName>
<LName>Achong</LName>
</Contact>
.....
</ROOT>