Aracılığıyla paylaş


CommandStream Özelliğini Kullanarak Şablon Dosyalarını Yürütme

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Bu örnek, SQL veya XPath sorgularından oluşan şablon dosyalarının, SqlXmlCommand nesnesinin CommandStream özelliği kullanılarak nasıl belirlenebileceğini göstermektedir. Bu uygulamada, bir komut dosyası için bir FileStreamobject açılır ve dosya akışı çalıştırılan CommandStream olarak atanır.

Aşağıdaki örnekte, CommandType özelliği SqlXmlCommandType.Template olarak belirtilmiştir (TemplateFile olarak değil).

İşte örnek XML şablonu:

<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>  

Bu örnek C# uygulamasıdır. Uygulamayı test etmek için şablonu (TemplateFile.xml) kaydedin ve ardından uygulamayı çalıştırın. Uygulama, XML şablonunda belirtilen sorguyu çalıştırır ve ekranda oluşturulan XML belgesini gösterir.

Uyarı

Kodda, bağlantı dizisinde Microsoft SQL Server örneğinin adını belirtmeniz gerekir.

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;  
      }  
   }  

Uygulamayı test etmek için

  1. Bu örnekte sunulan XML şablonunu (TemplateFile.xml) bir klasörde kaydedin.

  2. Bu örnekte verilen C# kodunu (DocSample.cs) şemanın saklandığı klasöre kaydedin. (Dosyaları farklı bir klasörde saklarsanız, kodu düzenlemeniz ve eşleme şeması için uygun dizin yolunu belirtmeniz gerekir.)

  3. Kodu derleyin. Kodu komut isteğinde derlemek için şunları kullanın:

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

    Bu, bir yürütülebilir (DocSample.exe) oluşturur.

  4. Komut dizisinde, DocSample.exeçalıştırın.