Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Açıklamalı bir XSD şemasında, bir öznitelik (veya eleman) Microsoft SQL Server'da bir BLOB sütununa eşlendiğinde, veri XML içinde Base 64 kodlanmış formatta döner.
Veriye bir referans (URI) iade edilmesini ve daha sonra BLOB verilerini ikili formatta almak için kullanılmasını istiyorsanız, sql:encode annotasyonunu belirtin. sql:encode'u basit tipte bir öznitelik veya eleman üzerinde belirtebilirsiniz.
Alanın değeri yerine alana bir URL gönderilmesi gerektiğini belirtmek için sql:encode annotasyonunu belirtin. sql:encode , URL'de tek bir seçim oluşturmak için birincil anahtara bağlıdır. Birincil anahtar, sql:key-fields açıklaması kullanılarak belirtilebilir.
sql:encode annotasyonuna "url" veya "default" değeri atanabilir. "Default" değeri, Base 64 kodlu formatta veri döndürür.
sql:encode annotasyonu sql:use-cdata ile veya ID, IDREF, IDREFS, NMTOKEN veya NMTOKEN özellik tiplerinde kullanılamaz. Ayrıca XSD sabit öznitelikle de kullanılamaz.
Uyarı
BLOB tipi sütunlar, bir anahtarın veya yabancı anahtarın parçası olarak kullanılamaz.
Örnekler
Aşağıdaki örneklerle çalışma örnekleri oluşturmak için belirli gereksinimleri karşılamanız gerekir. Daha fazla bilgi için Gereksinimler için SQLXML Örnekleri Çalışması için Gereksinimlere bakınız.
A. BLOB verilerine URL referansı elde etmek için sql:encode belirtilmesi
Bu örnekte, eşleme şeması LargePhoto özniteliğinde sql:encode'u belirli bir ürün fotoğrafına URI referansını almak için belirtir (Base 64 kodlu formatta ikili veri almak yerine).
<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>
Örnek XPath sorgusunu şema karşısında test etmek için
Yukarıdaki şema kodunu kopyalayıp metin dosyasına yapıştırın. Dosyayı sqlEncode.xmlolarak kaydet.
Aşağıdaki şablonu kopyalayın ve bir metin dosyasına yapıştırın. Dosyayı aynı dizinde sqlEncodeT.xml olarak kaydet 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>Eşleme şeması (sqlEncode.xml) için belirtilen dizin yolu, şablonun kaydedildiği dizine görecelidir. Mutlak bir yol da belirtilebilir, örneğin:
mapping-schema="C:\SqlXmlTest\sqlEncode.xml"Şablonu çalıştırmak için SQLXML 4.0 Test Script'i (Sqlxml4test.vbs) oluşturun ve kullanın.
Daha fazla bilgi için bkz. SQLXML 4.0 Sorguları Yürütmek için ADO Kullanma.
Sonuç şu şekildedir:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ProductPhoto ProductPhotoID="100"
LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto" />
</ROOT>