Aracılığıyla paylaş


Istemci tarafı XML (SQLXML 4.0) biçimlendirme

Bu konu, istemci tarafı XML biçimlendirmesi hakkında bilgi sağlar.Istemci tarafı biçimlendirme XML'SINI orta bağlayıcıda biçimlendirme başvuruyor.

Not

Bu konu IÇIN XML yan tümce, istemci tarafında kullanma hakkında ek bilgi sağlar ve, zaten FOR XML yan tümcesiyle birlikte bildiğinizi varsayar.IÇIN XML hakkında daha fazla bilgi için bkz: FOR XML kullanan XML oluşturma.

Önemli   Istemci tarafı IÇIN XML işlevselliği ile yeni kullanmak içinxml veri türü, istemciler her zaman kullanmalısınız SQL Server SQLOLEDB sağlayıcı yerine yerel istemci (SQLNCLI10) veri sağlayıcı. SQLNCLI10 en son SQL Server sağlayıcı sürümüdür ve tam olarak veri türlerini anlama SQL Server 2005. SQLOLEDB sağlayıcı ile istemci tarafı IÇIN XML için davranış kabul xml veri türleri dizeleri.

Istemci tarafında XML belgeleri biçimlendirme

Ne zaman bir istemci uygulaması, aşağıdaki sorguyu yürütür:

SELECT FirstName, LastName
FROM   Person.Contact
FOR XML RAW

.. .only bu sorgunun parçası sunucuya gönderilir:

SELECT FirstName, LastName
FROM   Person.Contact

The server executes the query and returns a rowset (which contains FirstName and LastNamecolumns) to the client.Orta bağlayıcıda sonra FOR XML dönüştürme için satır kümesi kümesi uygulanır ve biçimlendirme XML döndüren istemci.

Benzer şekilde, XPath sorgusu yürüttüğünüzde, sunucu için satır kümesi kümesi döndürür istemci ve dönüşümü IÇIN XML AÇıK için satır kümesi kümesi üzerinde uygulanan istemci, istenen XML biçimlendirmesi oluşturuluyor.

Aşağıdaki tablo modları, istemci tarafı IÇIN XML ile belirttiğiniz gösterir.

Istemci tarafı IÇIN XML modu

Açıklama

HAM

Istemci tarafı veya sunucu tarafı IÇIN XML belirtildiğinde, aynı sonucu verir.

İÇ İÇE GEÇMİŞ

Sunucu tarafında FOR XML AUTO moduna benzer belirtilir.

AÇIK

Sunucu-tarafı IÇIN XML AÇıK moduna benzer belirtilir.

Not

Tüm sorgu isteği, istemci tarafı XML biçimlendirmesi AUTO modu ve'yı belirtirseniz, sunucuya gönderilir; diğer bir deyişle XML biçimlendirmesi sunucuda oluşur.Bu, kullanışlı olabilir, ancak NESTED modu, oluşturulan XML belgesindeki öğenin adları temel tablo adlarını döndürür not için yapılır.Bazı uygulamalar, yazma, temel tablo adları gereksinim duyabilir.Örneğin, yürütmek bir saklı yordam ve elde edilen verileri bir DataSet yüklenemedi (içinde Microsoft .NET framework) ve daha sonra tablolardaki verileri güncelleştirmeye bir DiffGram oluşturur. Böyle bir durumda, temel tablo bilgileri gerekir ve NESTED modunu kullanmanız gerekir.

Istemci tarafı XML biçimlendirmesi yararları

Üzerinde XML biçimlendirmesi bazı faydaları şunlardır istemci.

Tek bir satır kümesi döndüren sunucuda veya saklı yordamları, XML oluşturmak için istemci tarafı IÇIN XML dönüştürme isteyebilirler.

Örneğin, saklı yordamını göz önünde bulundurun.Bu yordamı, çalışanların ad ve soyadları AdventureWorks veritabanındaki Person.Contact tablosundan döndürür:

IF EXISTS (SELECT name FROM sysobjects
   WHERE name = 'GetContacts' AND type = 'P')
   DROP PROCEDURE GetContacts
GO
CREATE PROCEDURE GetContacts
AS
    SELECT   FirstName, LastName
    FROM     Person.Contact

Aşağıdaki örnek XML şablon saklı yordamı çalıştırır.FOR XML yan tümce saklı yordam adından sonra belirtildi.

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:query client-side-xml="1">
    EXEC GetContacts FOR XML NESTED
  </sql:query>
</ROOT>

Çünkü istemci tarafı xml öznitelik küme şablondaki 1 (true), sunucuda saklı yordam çalıştırılır ve sunucu tarafından döndürülen iki sütun satır kümesi XML'DE orta katmanda dönüştürülmüş ve istemciye döndürülen.(Yalnızca kısmi bir sonuç burada gösterilir.)

 <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person.Contact FirstName="Gustavo" LastName="Achong" /> 
  <Person.Contact FirstName="Catherine" LastName="Abel" />
</ROOT>

Not

SQLXML Yönetimli sınıfları ve SQLXMLOLEDB sağlayıcı kullanırken, kullandığınız ClientSideXml istemci tarafı XML biçimlendirmesi istemek için özellik'ı tıklatın.

Iş yükü fazla dengelenir.

XML biçimlendirmesi, istemcinin yaptığı için iş yükünü başka işlemler yapmak için sunucu boşaltmayı, istemci ve sunucu arasında dengelenir.

Istemci tarafı XML biçimlendirme destekleme

XML biçimlendirme istemci tarafı işlevlerini desteklemek için , SQLXML sağlar:

  • SQLXMLOLEDB sağlayıcı

  • SQLXML Yönetimli Sınıfları

  • Gelişmiş XML şablonu desteği

  • SqlXmlCommand.ClientSideXml özellik

    Bu özellik SQLXML yönetilen sınıflar, true olarak ayarlamak yoluyla, istemci tarafı biçimlendirme belirtebilirsiniz.

Gelişmiş XML şablonu desteği

Ile başlayan SQL Server 2005, XML şablon SQL Server eklenmesiyle Gelişmiş istemci tarafı xml öznitelik.Bu, öznitelik ayarlamak true, XML istemcide biçimlendirilir.Bu şablon öznitelik işlevselliğindeki SQLXMLOLEDB sağlayıcı özel için aynı olduğunu unutmayın ClientSideXML Özellik.

Not

Bir ADO uygulamasında SQLXMLOLEDB sağlayıcıyı kullanan bir XML şablonu yürütmek ve her ikisi de belirttiğiniz istemci tarafı xml Şablon ve sağlayıcı özniteliğiClientSideXML özellik, şablonda belirtilen değer önceliklidir.