Menjalankan File Templat dengan Menggunakan Properti CommandStream

Berlaku untuk:Database SQL ServerAzure SQL

Contoh ini menggambarkan bagaimana file templat yang terdiri dari kueri SQL atau XPath dapat ditentukan dengan menggunakan properti CommandStream dari objek SqlXmlCommand. Dalam aplikasi ini, FileStreamobject dibuka untuk file perintah, dan aliran file ditetapkan sebagai CommandStream yang dijalankan.

Dalam contoh berikut, properti CommandType ditentukan sebagai SqlXmlCommandType.Template (bukan sebagai TemplateFile).

Ini adalah contoh templat XML:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
  <sql:query>  
    SELECT TOP 2 ContactID, FirstName, LastName   
    FROM   Person.Contact  
    FOR XML AUTO  
  </sql:query>  
</ROOT>  

Ini adalah contoh aplikasi C#. Untuk menguji aplikasi, simpan templat (TemplateFile.xml) lalu jalankan aplikasi. Aplikasi menjalankan kueri yang ditentukan dalam templat XML dan menampilkan dokumen XML yang dihasilkan di layar.

Catatan

Dalam kode, Anda harus memberikan nama instans Microsoft SQL Server dalam string koneksi.

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;  
         MemoryStream ms = new MemoryStream();  
         StreamWriter sw = new StreamWriter(ms);  
         ms.Position = 0;  
         SqlXmlCommand cmd = new SqlXmlCommand(ConnString);  
         cmd.CommandStream = new FileStream("TemplateFile.xml", FileMode.Open, FileAccess.Read);  
         cmd.CommandType = SqlXmlCommandType.Template;  
         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;  
      }  
   }  

Untuk menguji aplikasi

  1. Simpan templat XML (TemplateFile.xml) yang disediakan dalam contoh ini dalam folder.

  2. Simpan kode C# (DocSample.cs) yang disediakan dalam contoh ini di folder yang sama tempat skema disimpan. (Jika Anda menyimpan file di folder yang berbeda, Anda harus mengedit kode dan menentukan jalur direktori yang sesuai untuk skema pemetaan.)

  3. Kompilasi kode. Untuk mengkompilasi kode di prompt perintah, gunakan:

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

    Ini membuat executable (DocSample.exe).

  4. Pada prompt perintah, jalankan DocSample.exe.