Formatowanie (SQLXML 4.0) XML po stronie klienta
Ten temat zawiera informacje dotyczące formatowania XML po stronie klient.Formatowanie po stronie klienta odwołuje się do formatowania XML w środkowej warstwie.
Ostrzeżenie
Ten temat zawiera dodatkowe informacje o stronie klient przy użyciu klauzula XML dla i zakłada już znasz XML dla klauzula.Aby uzyskać więcej informacji na temat formatu XML dla Zobacz Konstruowania XML przy użyciu dla XML.
Ważneużywać funkcji XML dla klient z nowym xml Typ danych klient należy zawsze używać SQL Server dostawca danych Native klient (SQLNCLI10) zamiast dostawcy SQLOLEDB.SQLNCLI10 jest najnowsza wersja dostawca programu SQL Server i w pełni rozumie typów danych wprowadzonych w SQL Server 2005.Zachowanie po stronie klient będą traktować XML dla dostawca SQLOLEDB xml typów danych jako ciągi znaków.
Formatowanie dokumentów XML po stronie klienta
Kiedy aplikacja klient wykonuje następującą kwerendę:
SELECT FirstName, LastName
FROM Person.Person
FOR XML RAW;
.. .only tej części kwerenda jest wysyłana do serwera:
SELECT FirstName, LastName
FROM Person.Person
The server executes the query and returns a rowset (which contains FirstName and LastNamecolumns) to the client.Następnie warstwa środkowa dotyczy transformacja XML dla zestawu zestaw wierszy i zwraca do klient formatowanie XML.
Podobnie, gdy użytkownik wykonać kwerendę XPath serwer zwraca zestaw wierszy do klient i dla XML JAWNE transformacja jest stosowane do zestawu wierszy klient generowania żądanego formatowania XML.
W poniższej tabela przedstawiono trybów można określić za pomocą XML dla klient.
Tryb XML dla klienta. |
Komentarz |
---|---|
RAW |
Daje identyczne wyniki, gdy określony w XML dla klient lub po stronie serwera. |
ZAGNIEŻDŻONE |
Jest podobny do trybu za AUTO XML po stronie serwera. |
JAWNE |
Jest podobny do trybu dla XML JAWNE po stronie serwera. |
Ostrzeżenie
Jeśli określony tryb automatyczny i formatowanie XML po stronie klient żądania, cała kwerenda jest wysyłana do serwera; oznacza to, że formatowanie XML występuje na serwerze.Jest to wygodne, ale należy pamiętać, że tryb ZAGNIEŻDŻONYCH zwraca tabela bazowa nazwy jako nazwy elementu w dokumencie XML, który jest generowany.Niektóre aplikacje piszesz może wymagać nazwy tabela bazowa.Na przykład może być wykonać procedura składowana i załadować dane wynikowe w zestawie danych (w Microsoft .NET Framework), a później wygenerować w formacie DiffGram aktualizacja danych w tabelach.W takim przypadek należy informacji o tabela bazowa i miałoby tryb ZAGNIEŻDŻONYCH.
Zalety formatowania XML po stronie klienta
Poniżej przedstawiono niektóre korzyści formatowanie XML klient.
Jeśli procedur przechowywanych na serwerze, który zwraca pojedynczy zestaw wierszy, można zażądać transformacja XML dla klient do generowania XML.
Na przykład rozważmy następującą procedura składowana.Procedura ta zwraca imienia i nazwiska z tabela Person.Person w AdventureWorks2008R2 bazy danych:
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;
Następujący przykładowy szablon XML wykonuje procedura składowana.Klauzula XML dla określono po nazwie procedura składowana.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query client-side-xml="1">
EXEC GetContacts FOR XML NESTED
</sql:query>
</ROOT>
Ponieważ xml po stronie klient atrybut jest ustawiony na wartość 1 (PRAWDA) w szablonie, procedura składowana jest wykonywany na serwerze oraz dwie kolumna zestawu zestaw wierszy zwracanego przez serwer jest przekształcane w XML w środkowej warstwie i zwracane do klient.(Tylko wynik częściowy jest tu.)
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Person.Person FirstName="Gustavo" LastName="Achong" />
<Person.Person FirstName="Catherine" LastName="Abel" />
</ROOT>
Ostrzeżenie
Podczas korzystania z SQLXMLOLEDB dostawcy lub klasy zarządzane SQLXML, można użyć ClientSideXml właściwość żądania formatowanie XML po stronie klient.
Obciążenie pracą jest bardziej zrównoważone.
Ponieważ klient ma formatowanie XML, obciążenie pracą jest równoważony między serwerem a klientem, zwalniając serwera, aby wykonać inne czynności.
Uzupełniające formatowanie XML po stronie klienta
Do obsługi funkcji formatowania XML po stronie klient zapewnia SQLXML:
Dostawcy SQLXMLOLEDB
SQLXML zarządzane klas
Ulepszona obsługa szablonu XML
SqlXmlCommand.ClientSideXml właściwość
Można określić formatowanie po stronie klient przez ustawienie tej właściwość klasy SQLXML zarządzane na true.
Ulepszona obsługa szablonu XML
Począwszy od SQL Server 2005, szablon XML w SQL Server został rozszerzony o dodanie xml po stronie klient atrybut.Jeśli ten atrybut jest zestaw na wartość true, XML sformatowane klient.Należy zauważyć, że atrybut ten szablon identyczne funkcje specyficzne dostawca SQLXMLOLEDB ClientSideXML właściwość.
Ostrzeżenie
Jeśli wykonać szablon XML w aplikacji obiektów ADO, która używa dostawca SQLXMLOLEDB i określić zarówno xml po stronie klient atrybut w szablonie i dostawca ClientSideXML właściwość, przyjmuje wartość określoną w szablonie pierwszeństwo.
Zobacz także