Żądanie URL odwołania do obiektu BLOB danych przy użyciu programu sql: kodowania (SQLXML 4.0)
W adnotacjami schematu XSD, gdy atrybut (lub element) jest mapowany do kolumna obiektu BLOB w programie Microsoft SQL Server, dane są zwracane w algorytmem Base 64 formacie XML.
Jeśli odwołanie do danych (URI) powinny być zwrócone, można później pobrać danych typu BLOB w formacie binarnym, określ sql:encode adnotacji.Można określić sql:encode na atrybut lub element typu prostego.
Specify the sql:encode annotation to indicate that a URL to the field should be returned instead of the value of the field.sql:encode depends on the primary key to generate a singleton select in the URL.Klucz podstawowy może być określony przy użyciu sql:key-fields adnotacji.
sql:encode Adnotacji można przypisać "adres url" lub "default" wartość.Wartość "domyślny" Zwraca dane w formacie algorytmem Base 64.
sql:encode Nie można użyć adnotacji z sql:use-cdata lub identyfikatora, IDREF, IDREFS, NMTOKEN lub NMTOKENS atrybut typów.Również nie można z XSD stałej atrybut.
Ostrzeżenie
Nie można użyć kolumny typu BLOB jako część klucza lub klucz obcy.
Przykłady
Aby utworzyć próbki pracy przy użyciu poniższych przykładach, musi spełniać określone wymagania.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące uruchamianie przykładów SQLXML.
A.Określanie sql: kodowania do uzyskania adresu URL odwołania do danych typu BLOB
W tym przykładzie Określa mapowanie schematu sql:encode na LargePhoto atrybut pobrać identyfikatora URI odwołania do fotografii określonego produktu (zamiast pobierania danych binarnych w formacie algorytmem Base 64).
<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>
Aby przetestować przykładowe kwerendy XPath względem schematu
Kod schematu skopiować i wkleić go do pliku tekstowego.Zapisz plik jako sqlEncode.xml.
Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako sqlEncodeT.xml w tym samym katalogu, w którym zapisano 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>Ścieżka katalogu określonego dla mapowania schematu (sqlEncode.xml) jest katalog, w którym zapisany szablon.Ścieżka bezwzględna również można określić, na przykład:
mapping-schema="C:\SqlXmlTest\sqlEncode.xml"Tworzenie i używanie szablon wykonać skryptu testu 4.0 SQLXML (Sqlxml4test.vbs).
Aby uzyskać więcej informacji, zobacz Przy użyciu ADO SQLXML wykonanie kwerendy 4.0.
Jest to wynikiem:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ProductPhoto ProductPhotoID="100"
LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto" />
</ROOT>