Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
I ett annoterat XSD-schema, när ett attribut (eller element) mappas till en BLOB-kolumn i Microsoft SQL Server, returneras datan i Base 64-kodat format inom XML.
Om du vill att en referens till datan (en URI) ska returneras som kan användas senare för att hämta BLOB-data i binärt format, specificera sql:encode-annotationen . Du kan ange sql:encode på ett attribut eller element av enkel typ.
Ange sql:encode-annotationen för att indikera att en URL till fältet ska returneras istället för fältets värde. sql:encode beror på primärnyckeln för att generera ett singleton-val i URL:en. Primärnyckeln kan specificeras med hjälp av sql:key-fields-annotationen .
sql:encode-annotationen kan tilldelas värdet "url" eller "default". Ett värde på "default" returnerar data i Base 64-kodat format.
sql:encode-annotationen kan inte användas med sql:use-cdata eller på attributtyperna ID, IDREF, IDREFS, NMTOKEN eller NMTOKENS. Den kan inte heller användas med XSD-fast attribut.
Anmärkning
BLOB-typ kolumner kan inte användas som en del av en nyckel eller främmande nyckel.
Examples
För att skapa arbetsprover med hjälp av följande exempel måste du uppfylla vissa krav. För mer information, se Krav för att köra SQLXML-exempel.
A. Specificering av sql:encode för att erhålla en URL-referens till BLOB-data
I detta exempel specificerar mappningsschemat sql:encode på attributet LargePhoto för att hämta URI-referensen till ett specifikt produktfoto (istället för att hämta den binära datan i Base 64-kodat format).
<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>
För att testa en exempel-XPath-fråga mot schemat
Kopiera schemakoden ovan och klistra in den i en textfil. Spara filen som sqlEncode.xml.
Kopiera följande mall och klistra in den i en textfil. Spara filen som sqlEncodeT.xml i samma katalog där du sparade sqlEncode.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sqlEncode.xml"> /ProductPhoto[@ProductPhotoID=100] </sql:xpath-query> </ROOT>Den katalogväg som anges för mappningsschemat (sqlEncode.xml) är relativ till katalogen där mallen sparas. En absolut väg kan också specificeras, till exempel:
mapping-schema="C:\SqlXmlTest\sqlEncode.xml"Skapa och använd SQLXML 4.0 Test Script (Sqlxml4test.vbs) för att köra mallen.
Mer information finns i Använda ADO för att köra SQLXML 4.0-frågor.
Det här är resultatet:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ProductPhoto ProductPhotoID="100"
LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto" />
</ROOT>