Udostępnij za pośrednictwem


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.