Udostępnij przez


Żądanie URL replikę do obiektu BLOB danych za pomocą sql:url - encode (schematu XDR)

Important noteImportant Note:

W tym temacie jest włączony jako odwołanie w przypadku starszych aplikacji.Żadna praca przyszłe będą mogły wykonać tej funkcji.Należy unikać stosowania tej funkcji w nowej pracy rozwoju.Zamiast tego należy używać adnotacjami schematów XSD tworzenia widoków XML.Aby uzyskać więcej informacji zobaczWprowadzenie do adnotacjami schematy XSD (SQLXML 4.0).Istniejące schematy XDR adnotacjami można przekonwertować schematów XSD.Aby uzyskać więcej informacji zobaczKonwertowanie adnotacjami schematy XDR Equivalent schematy XSD (SQLXML 4.0).

W adnotacjami XDR schematu, gdy atrybut (lub element) jest mapowany do firmy Microsoft SQL Server Kolumna BLOB, dane są zwracane w formacie XML algorytmem Base 64. Aby uzyskać opis SQL Server typy danych i ich odpowiednie typy danych XML, zobacz Coercions typ danych (schematu XDR).

Jeśli odwołanie do danych (URI, Uniform Resource Identifier) mają być zwrócone, który można później do pobierania danych BLOB w formacie binarnym, określ sql:url-encode adnotacja.

Specify sql:url-encode annotation to indicate that a URL to the field should be returned instead of the value of the field.sql:url-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. Aby uzyskać więcej informacji zobaczIdentyfikowanie przy użyciu kolumny klucz sql:klucz-pól (SQLXML 4.0).

The sql:url-encode annotation takes a Boolean type value (0 = FALSE, 1 = TRUE).sql:url-encode cannot be used with sql:use-cdata or on any of the attribute types ID, IDREF, IDREFS, NMTOKEN, or NMTOKENS.

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śl sql:url - encode do uzyskania adresu URL odwołanie do obiektu BLOB danych

W tym przykładzie Określa mapowanie schematu sql:url-encode na LargePhoto atrybut w celu pobrania identyfikatora URI odwołania do zdjęcie produktu (zamiast pobieranie danych z algorytmem Base 64 do formatu binarnego).

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
   xmlns:dt="urn:schemas-microsoft-com:datatypes"
   xmlns:sql="urn:schemas-microsoft-com:xml-sql">
   <ElementType name="ProductPhoto" sql:relation="Production.ProductPhoto" 
                 sql:key-fields="ProductPhotoID" >
      <AttributeType name="ProductPhotoID" />
      <AttributeType name="LargePhoto" />

      <attribute type="ProductPhotoID" />
      <attribute type="LargePhoto" sql:url-encode="1" />
   </ElementType>
</Schema>

Aby przetestować kwerendę XPath próbki względem schematu

  1. Skopiować powyższy kod schematu i wkleić go do pliku tekstowego.Zapisz plik jako UrlEncodeXdr.xml.

  2. Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako UrlEncodeXdrT.xml w tym samym katalogu, w którym zapisano UrlEncodeXdr.xml.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="UrlEncodeXdr.xml">
        /ProductPhoto[@ProductPhotoID=100]
      </sql:xpath-query>
    </ROOT>
    

    To ścieżka do katalogu określonego dla mapowania schematu (UrlEncodeXdr.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:\MyDir\UrlEncodeXdr.xml"
    
  3. 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.

Poniżej znajduje się zestaw wyników:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <ProductPhoto ProductPhotoID="100" LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto"/>
</ROOT>