Udostępnij za pomocą


Przetwarzanie kodu XML po stronie klienta (klasy zarządzane SQLXML)

Dotyczy:programu SQL ServerAzure SQL Database

Ten przykład ilustruje użycie właściwości ClientSideXml. Aplikacja wykonuje procedurę zapisaną na serwerze. Wynik procedury przechowywanej (dwukolumnowy zestaw wierszy) jest przetwarzany po stronie klienta w celu wygenerowania dokumentu XML.

Poniższa procedura przechowywana GetContacts zwraca imię i nazwisko pracowników w tabeli Person.Contact w bazie AdventureWorks.

USE AdventureWorks2022;
CREATE PROCEDURE GetContacts @LastName varchar(20)  
AS  
SELECT FirstName, LastName  
FROM   Person.Contact  
WHERE LastName = @LastName  
Go  

Ta aplikacja C# wykonuje procedurę przechowywaną i określa opcję AUTOMATYCZNEJ DLA XML przy określaniu wartości CommandText. W aplikacji właściwość ClientSideXml obiektu SqlXmlCommand jest ustawiona na true. Pozwala to uruchamiać istniejące procedury przechowywane, które zwracają zestaw wierszy i stosować do niego transformację XML na kliencie.

Uwaga / Notatka

W kodzie musisz podać nazwę instancji Microsoft SQL Server w ciągu połączeń.

using System;  
using Microsoft.Data.SqlXml;  
using System.IO;  
class Test  
{  
    static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks;Integrated Security=SSPI";  
      public static int testParams()  
      {  
         //Stream strm;  
         SqlXmlParameter p;  
         SqlXmlCommand cmd = new SqlXmlCommand(ConnString);  
         cmd.ClientSideXml = true;  
         cmd.CommandText = "EXEC GetContacts ? FOR XML NESTED";  
         p = cmd.CreateParameter();  
         p.Value = "Achong";  
         using (Stream strm = cmd.ExecuteStream())   
         {  
            using (StreamReader sr = new StreamReader(strm))  
                  {  
               Console.WriteLine(sr.ReadToEnd());  
            }  
         }  
         return 0;  
      }  
  
public static int Main(String[] args)  
{  
    testParams();  
    return 0;  
}  
}  

Aby przetestować ten przykład, musisz mieć zainstalowany Microsoft .NET Framework na swoim komputerze.

Aby przetestować aplikację

  1. Utwórz procedurę przechowywaną.

  2. Zapisz kod C# (DocSample.cs), który jest przedstawiony w tym przykładzie, w folderze. Edytuj kod, aby określić odpowiednie dane logowania i hasła.

  3. Skompiluj kod. Aby skompilować kod w wierszu poleceń, użyj następująco:

    csc /reference:Microsoft.Data.SqlXML.dll DocSample.cs  
    

    Tworzy to plik wykonywalny (DocSample.exe).

  4. W wierszu poleceń wykonaj DocSample.exe.