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.
See Also