Aracılığıyla paylaş


Uygulamalarda xml veri türü ile çalışma

Bu konuda ile çalışmak için kullanabileceğiniz seçenekler açıklanmıştır xml veri türü uygulama.Konu hakkında aşağıdaki bilgileri içerir:

  • Gelen xml işleme bir xml türü sütun ado kullanarak ve SQL Server Native Client

  • Gelen xml işleme bir xml türü sütun ado kullanarak.net

  • İşleme xml ado kullanarak parametreleri yazın.net

Bir xml türü sütun kullanma ado ve sql Server yerel istemcisi tarafından alınan xml işleme

mdac bileşenleri erişim türleri ve'de sunulan özellikleri kullanmasını SQL Server 2005, ayarlamanız gerekir DataTypeCompatibility ado bağlantı başlatma özellik dize.

Örneğin, aşağıdaki Visual Basic Scripting Edition (VBScript) örnek sorgulama sonuçlarını gösterir bir xml veri türü sütununda, Demographics, te Sales.Store tablo , AdventureWorks2008R2 örnek veritabanı.Özellikle, bu sütun için satır örnek değeri sorgu arar burada CustomerID eşittir 3.

Const DS = "MyServer"
Const DB = "AdventureWorks2008R2"

Set objConn = CreateObject("ADODB.Connection")
Set objRs = CreateObject("ADODB.Recordset")

CommandText = "SELECT Demographics" & _
              " FROM Sales.Store" & _
              " INNER JOIN Sales.Customer" & _
              " ON Sales.Store.BusinessEntityID = sales.customer.StoreID" & _
              " WHERE Sales.Customer.CustomerID = 3" & _
              " OR Sales.Customer.CustomerID = 4"
                   
ConnectionString = "Provider=SQLNCLI10" & _
                   ";Data Source=" & DS & _
                   ";Initial Catalog=" & DB & _
                   ";Integrated Security=SSPI;" & _
                   "DataTypeCompatibility=80"

'Connect to the data source.
objConn.Open ConnectionString

'Execute command through the connection and display
Set objRs = objConn.Execute(CommandText)

Dim rowcount
rowcount = 0
Do While Not objRs.EOF
   rowcount = rowcount + 1
   MsgBox "Row " & rowcount & _
           vbCrLf & vbCrLf & objRs(0)
   objRs.MoveNext
Loop

'Clean up.
objRs.Close
objConn.Close
Set objRs = Nothing
Set objConn = Nothing

Bu örnek, veri türü uyumluluk özellik küme gösterilmiştir.Kullanmakta olduğunuz varsayılan olarak, bu 0'a küme SQL Server yerel istemci.Sonra küme değeri 80, SQL Server yerel istemci sağlayıcı olun xml ve kullanıcı tanımlı tür sütun görünür olarak SQL Server 2000 veri türleri.Bu dbtype_wstr ve dbtype_bytes, sırasıyla olurdu.

SQL ServerNative Client da yüklenmesi gerekir istemci bilgisayar ve bağlantı üzerinde dize ile veri sağlayıcı olarak belirtmeniz gerekir "Provider=SQLNCLI10;...".

Bu örneği test etmek için

  1. Emin olun SQL Server yerel istemci yüklü olduğu ve daha sonra bu mdac 2.6.0or kullanılabilir istemci bilgisayar.

    Daha fazla bilgi için bkz: sql Server 2008 R2'in yerel istemci programlama.

  2. Emin olun AdventureWorks2008R2 örnek veritabanında SQL Server yüklenir.

    Bu örnek gerektirir AdventureWorks2008R2 örnek veritabanı.Daha fazla bilgi için bkz: SQL Server Örnekleri ve Örnek Veritabanlarının Yüklenmesiyle İlgili Önemli Noktalar.

  3. Bu konuda daha önce gösterilen kodu kopyalayın ve metin veya kod düzenleyicisine kodu yapıştırın.Dosyayı HandlingXmlDataType.vbs kaydedin.

  4. Komut dosyası için gerektiği gibi değiştirin, SQL Server yükleme yaptığınız değişiklikleri kaydetmek ve

    Örneğin, burada MyServer belirtilmişse, size yerini ya da kendisiyle (local) veya sunucuyu gerçek adı SQL Server yüklenir.

  5. HandlingXmlDataType.vbs çalıştırın ve yürütmek komut dosyası.

sonuçlar aşağıdaki örnek çıktı için benzer olmalıdır:

Row 1

<StoreSurvey xmlns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">
  <AnnualSales>1500000</AnnualSales>
  <AnnualRevenue>150000</AnnualRevenue>
  <BankName>Primary International</BankName>
  <BusinessType>OS</BusinessType>
  <YearOpened>1974</YearOpened>
  <Specialty>Road</Specialty>
  <SquareFeet>38000</SquareFeet>
  <Brands>3</Brands>
  <Internet>DSL</Internet>
  <NumberEmployees>40</NumberEmployees>
</StoreSurvey>

Row 2

<StoreSurvey xmlns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">
  <AnnualSales>300000</AnnualSales>
  <AnnualRevenue>30000</AnnualRevenue>
  <BankName>United Security</BankName>
  <BusinessType>BM</BusinessType>
  <YearOpened>1976</YearOpened>
  <Specialty>Road</Specialty>
  <SquareFeet>6000</SquareFeet>
  <Brands>2</Brands>
  <Internet>DSL</Internet>
  <NumberEmployees>5</NumberEmployees>
</StoreSurvey>

Bir xml türü sütun kullanma ado tarafından alınan xml işleme.NET

To handle XML from an xml data type column by using ADO.NET and the Microsoft .NET Framework you can use the standard behavior of the SqlCommand class.Örneğin, bir xml veri türü sütun ve değerlerine alınan aynı şekilde herhangi bir sql sütun kullanarak alınır bir SqlDataReader.Ancak, içeriğiyle çalışmak istiyorsanız, bir xml veri türü sütun xml olarak, önce içeriği atamanız gerekir bir XmlReader türü.

For more information and example code, see "XML Column Values in a Data Reader" in the Microsoft .NET Framework 2.0 SDK documentation.

Bir xml Türü sütununda kullanarak bir ado parametre işleme.NET

Bir xml veri türünü iþlemek için ado parametre olarak geçildi.net ve .NET Framework, değer örnek tedarik SqlXml veri türü.Hiçbir özel işlem, çünkü katıldı xml sütun veri türü SQL Server kabul edebileceği parametre değerleri ile aynı şekilde diğer sütunlar ve veri türleri gibi string veya integer.

For more information and example code, see "XML Values as Command Parameters" in the Microsoft .NET Framework 2.0 SDK documentation.

Ayrıca bkz.

Kavramlar