Żądanie URL odwołania do obiektu BLOB danych przy użyciu języka sql: kodowania (SQLXML 4.0)
W adnotacjami XSD schematu, gdy atrybut (lub element) jest mapowany do kolumna obiektu BLOB, w programie Microsoft SQL Server, dane są zwracane w formacie XML algorytmem Base 64.
Jeśli odwołanie do danych (identyfikatora URI) mają być zwrócone, można użyć później do pobierania danych BLOB w formacie binarnym, określ sql:encode adnotacja. Można określić sql:encode 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 zostać określony przy użyciu sql:key-fields adnotacja.
The sql:encode annotation can be assigned the "url" or the "default" value.Wartość "" domyślny"zwraca dane w formacie algorytmem Base 64.
The sql:encode annotation cannot be used with sql:use-cdata or on the ID, IDREF, IDREFS, NMTOKEN, or NMTOKENS atrybut types. On również nie można używać z XSD stała atrybut.
Uwaga
Kolumn typu BLOB nie może być używany jako część klucza lub klucz obcy.
Przykłady
Aby utworzyć próbek pracy przy użyciu poniższych przykładach, musi spełniać określone wymagania.Aby uzyskać więcej informacji zobaczWymagania dotyczące uruchamianie SQLXML przykłady.
A.Określanie języka sql: kodowania w celu uzyskania adresu URL odwołania do obiektu BLOB danych
W tym przykładzie Określa mapowanie schematu sql:encode na LargePhoto atrybut w celu pobrania identyfikatora URI odwołania do fotografii określonego produktu (zamiast pobieranie danych z algorytmem Base 64 do formatu binarnego).
<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ć kwerendę XPath próbki względem schematu
Skopiować powyższy kod schematu 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>To ścieżka do katalogu określonego dla mapowania schematu (sqlEncode.xml) jest względna w stosunku do katalogu, w którym są zapisywane w szablonie.Ścieżka bezwzględna również można określić, na przykład:
mapping-schema="C:\SqlXmlTest\sqlEncode.xml"Tworzenie i używanie skryptu testu 4.0 SQLXML (Sqlxml4test.vbs) do wykonać tego szablonu.
Aby uzyskać więcej informacji zobaczPrzy użyciu obiektu ADO do wykonywania SQLXML bada 4.0.
Oto wynik:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ProductPhoto ProductPhotoID="100"
LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto" />
</ROOT>