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.
Bei einem kommentierten XSD-Schema, wenn ein Attribut (oder Element) einer BLOB-Spalte in Microsoft SQL Server zugeordnet wird, werden die Daten im Base64-codierten Format innerhalb von XML zurückgegeben.
Wenn ein Verweis auf die Daten (einen URI) zurückgegeben werden soll, der später zum Abrufen der BLOB-Daten in einem Binärformat verwendet werden kann, geben Sie die sql:encode Anmerkung an. Sie können ein Attribut oder element mit einfachem Typ angeben sql:encode .
Geben Sie die sql:encode Anmerkung an, die angibt, dass eine URL zum Feld anstelle des Werts des Felds zurückgegeben werden soll.
sql:encode hängt vom Primärschlüssel ab, um eine Singletonauswahl in der URL zu generieren. Der Primärschlüssel kann mithilfe der sql:key-fields Anmerkung angegeben werden.
Der sql:encode Anmerkung kann die "URL" oder der Standardwert zugewiesen werden. Ein Wert von "default" gibt Daten im Base64-codierten Format zurück.
Die sql:encode Anmerkung kann nicht mit sql:use-cdata oder in den Attributtypen ID, IDREF, IDREFS, NMTOKEN oder NMTOKENS verwendet werden. Sie kann auch nicht mit einem festen XSD-Attribut verwendet werden.
Hinweis
BLOB-Typspalten können nicht als Teil eines Schlüssels oder Fremdschlüssels verwendet werden.
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 von sql:encode zum Abrufen eines URL-Verweises auf BLOB-Daten
In diesem Beispiel gibt sql:encode das Zuordnungsschema für das LargePhoto-Attribut an, um den URI-Verweis auf ein bestimmtes Produktfoto abzurufen (anstatt die Binärdaten im Base64-codierten Format abzurufen).
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="ProductPhoto" sql:relation="Production.ProductPhoto"
sql:key-fields="ProductPhotoID" >
<xsd:complexType>
<xsd:attribute name="ProductPhotoID" type="xsd:int" />
<xsd:attribute name="LargePhoto" type="xsd:string" sql:encode="url" />
</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 sqlEncode.xml.
Kopieren Sie die folgende Vorlage, und fügen Sie sie in eine Textdatei ein. Speichern Sie die Datei als sqlEncodeT.xml im selben Verzeichnis, in dem Sie sqlEncode.xmlgespeichert haben.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sqlEncode.xml"> /ProductPhoto[@ProductPhotoID=100] </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (sqlEncode.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\sqlEncode.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 4.0-Abfragen.
Dies ist das Ergebnis:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ProductPhoto ProductPhotoID="100"
LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto" />
</ROOT>