Aracılığıyla paylaş


İstemci tarafı xml biçimlendirmesi (SQLxml 4.0)

Bu konu, istemci tarafı xml biçimlendirme hakkında bilgi sağlar.İstemci tarafı biçimlendirme xml orta bağlayıcıda bulunan biçimlendirme ifade eder.

Not

Bu konu, istemci tarafında for xml yan tümce tümce tümce kullanma hakkında ek bilgi sağlar ve zaten for xml yan tümce tümce tümce ile bilgi sahibi olduğunuz varsayılmaktadır.for xml hakkında daha fazla bilgi için bkz: Oluşturarak xml Using for xml.

Önemliyeni istemci tarafı for xml işlevselliği kullanmak için xml veri türü, istemciler her zaman kullanması gereken SQL Server Native Client (SQLNCLI10) veri sağlayıcı, yerine sqloledb sağlayıcısı.SQLNCLI10 sql Server sağlayıcı en son sürüm ve tam olarak veri türleri anlar SQL Server 2005.istemci tarafı for xml ile birlikte sqloledb sağlayıcı kabul için davranış xml veri türleri olarak dizeler.

İstemci tarafında xml belgeleri biçimlendirme

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

SELECT FirstName, LastName
FROM   Person.Person
FOR XML RAW;

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

SELECT FirstName, LastName
FROM   Person.Person

The server executes the query and returns a rowset (which contains FirstName and LastNamecolumns) to the client.for xml dönüştürme satır kümesi için geçerlidir ve xml biçimlendirme verir sonra orta katman istemci.

Benzer şekilde, ne zaman, yürütmek bir XPath sorgusu sunucu kümesi istemciye gönderir ve istenen xml biçimlendirmesi oluşturuluyor istemci üzerindeki satır kümesi için xml açık dönüştürme uygulanır.

Aşağıdaki tablo istemci tarafı for xml ile belirttiğiniz modları gösterir.

İstemci tarafı for xml modu

Açıklama

HAM

Aynı üretir sonuçlar istemci veya sunucu tarafında for xml belirtildiğinde.

İÇ İÇE

Sunucu tarafında for xml auto moduna benzer.

AÇIK

Sunucu tarafı için xml açık modu için benzer.

Not

Otomatik mod ve isteği istemci tarafı xml biçimlendirmesi belirtirseniz, tüm sorgu sunucuya gönderilir; diğer bir deyişle, xml biçimlendirmesi, sunucu üzerinde oluşur.Bu kolaylık, ancak nested modu olarak oluşturulan xml belgesinde öğe adları temel tablo adlarını döndürür not için yapılır.Bazı uygulamalar, yazma temel tablo adları gerektirebilir.Örneğin, LOOP bir saklı yordam ve elde edilen verileri DataSet yüklemek (de Microsoft .net Framework) ve bir DiffGram tablolar. verileri güncelleştirmek için daha sonra oluşturmakBöyle bir durumda, Bankası gerekir tablo bilgi ve sahip nested modu kullanmak.

İstemci tarafı xml biçimlendirmesi yararları

istemci üzerinde xml biçimlendirmesi bazı faydaları şunlardır:

Tek bir satır kümesi döndüren sunucuda veya saklı yordamları, xml oluşturmak için istemci tarafı for xml dönüştürme isteyebilir.

Örneğin, aşağıdaki saklı yordam göz önünde bulundurun.Bu yordamı Person.Person ilk ve son adları verir tablo , AdventureWorks2008R2 Veritabanı:

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

Aşağıdaki örnek xml şablonu yürütür saklı yordam.for xml yan tümce tümce tümce sonra saklı yordam adı 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 şablonda 1 (doğru) olarak ayarlanırsa, sunucu ve iki - saklı yordam yürütülecek olansütun sunucu tarafından döndürülen satır küme orta bağlayıcıda bulunan XML'e dönüştürülmüş ve istemciye döndürülen.(Kısmi bir sonuç burada gösterilir.)

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

Not

sqlxml yönetilen sınıflar ve SQLXMLOLEDB ile birlikte sağlayıcı kullanırken, kullanabileceğiniz ClientSideXml özellik, istemci tarafı xml biçimlendirmesi istemek için.

İş yükü fazla dengelenir.

Çünkü xml biçimlendirmesi istemci yapar, iş yükü sunucu ve istemci, sunucu başka işlemler yapmak için boşaltma arasında dengelenir.

İstemci tarafı xml biçimlendirme destekleme

istemci tarafı xml biçimlendirme işlevlerini desteklemek için sqlxml sağlar:

  • SQLXMLOLEDB ile birlikte sağlayıcı

  • sqlxml Yönetimli Sınıfları

  • Gelişmiş xml şablonu desteği

  • SqlXmlCommand.ClientSideXml özellik

    sqlxml yönetilen sınıflar, bu özellik true olarak ayarlayarak istemci tarafı biçimlendirme belirtebilirsiniz.

Gelişmiş xml şablonu desteği

İle başlayan SQL Server 2005, xml şablonu içinde SQL Server eklenmesi ile geliştirilmiş istemci tarafı xml öznitelik.Bu öznitelik, küme için true, xml istemci üzerinde biçimlendirilmiş.Dikkat edin bu şablonu öznitelik SQLXMLOLEDB ile birlikte sağlayıcıya özgü için işlevleri aynıdır ClientSideXML özellik.

Not

Bir xml şablonu SQLXMLOLEDB ile birlikte sağlayıcı kullanarak bir ado uygulamasında yürütmek ve her ikisi de belirtmek istemci tarafı xml öznitelik şablonu ve sağlayıcı ClientSideXML özellik, şablonda belirtilen değer kazanır önceliği.