Mengakses Fungsionalitas SQLXML di Lingkungan .NET

Berlaku untuk:database SQL ServerAzure SQL

Contoh ini menunjukkan:

  • Cara menggunakan Microsoft SQLXML Managed Classes (Microsoft.Data.SqlXml) untuk mengakses Microsoft SQL Server di lingkungan Microsoft .NET Framework.

  • Bagaimana DiffGram yang dihasilkan di lingkungan .NET Framework dapat menerapkan pembaruan data ke tabel SQL Server.

Dalam aplikasi ini, kueri JalurX dijalankan terhadap skema XSD. Eksekusi kueri JalurX mengembalikan dokumen XML yang terdiri dari data kontak (FirstName, LastName). Aplikasi memuat dokumen XML dalam himpunan data di lingkungan .NET Framework. Data dalam himpunan data dimodifikasi: nama depan kontak diubah menjadi "Susan" untuk kontak pertama dalam himpunan data. DiffGram dihasilkan dari himpunan data, dan pembaruan yang ditentukan dalam DiffGram (perubahan nama depan karyawan) kemudian diterapkan ke tabel Person.Contact.

Catatan

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

using System;  
using System.Data;  
using Microsoft.Data.SqlXml;  
using System.IO;  
class Test  
{  
   static string ConnString = "Provider=SQLOLEDB;Server=SqlServerName;database=AdventureWorks;Integrated Security=SSPI;";  
   public static int testParams()  
   {  
      DataRow row;  
      SqlXmlAdapter ad;  
      //need a memory stream to hold diff gram temporarily  
      MemoryStream ms = new MemoryStream();  
      SqlXmlCommand cmd = new SqlXmlCommand(ConnString);  
      cmd.RootTag = "ROOT";  
      cmd.CommandText = "Con";  
      cmd.CommandType = SqlXmlCommandType.XPath;  
      cmd.SchemaPath = "MySchema.xml";  
      //load data set  
      DataSet ds = new DataSet();  
      ad = new SqlXmlAdapter(cmd);  
      ad.Fill(ds);  
      row = ds.Tables["Con"].Rows[0];  
      row["FName"] = "Susan";  
      ad.Update(ds);  
      return 0;  
   }  
   public static int Main(String[] args)  
   {  
      testParams();  
      return 0;  
   }  
}  

Untuk menguji contoh:

Untuk menguji contoh ini, Anda harus menginstal Microsoft .NET Framework di komputer Anda.

  1. Simpan skema XSD ini (MySchema.xml) dalam folder:

    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
                xmlns:sql="urn:schemas-microsoft-com:mapping-schema">  
      <xsd:element name="Con" sql:relation="Person.Contact" >  
       <xsd:complexType>  
         <xsd:sequence>  
            <xsd:element name="FName"    
                         sql:field="FirstName"   
                         type="xsd:string" />   
            <xsd:element name="LName"    
                         sql:field="LastName"    
                         type="xsd:string" />  
         </xsd:sequence>  
         <xsd:attribute name="ContactID" type="xsd:integer" />  
        </xsd:complexType>  
      </xsd:element>  
    </xsd:schema>  
    
  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).

Pada prompt perintah, jalankan DocSample.exe.