Udostępnij za pośrednictwem


Praca z typem danych XML w aplikacji

W tym temacie opisano opcje, które są dostępne do pracy z xml Typ danych w aplikacji. Temat zawiera następujące informacje:

  • Obsługa XML z xml Kolumna typu przy użyciu obiektów ADO i SQL Server Macierzysta klient

  • Obsługa XML z xml Kolumna typu przy użyciu ADO.NET

  • Obsługa xml Wpisz w parametrach przy użyciu ADO.NET

Obsługa XML z xml typu kolumna przy użyciu ADO i SQL Server Native klient

Aby użyć składników MDAC dostęp do typów i funkcje, które zostały wprowadzone w SQL Server 2005, użytkownik musi zestaw DataTypeCompatibility właściwość inicjowania w ciąg połączenia ADO.

Na przykład, następujący przykład kodu języka Visual Basic wykonywanie skryptów Edition (VBScript) przedstawia wyniki kwerendy xml kolumna o typie danych, Demographics, w Sales.Store spis AdventureWorks Przykładowa baza danych. W szczególności kwerendy wyszukuje wartość wystąpienie tej kolumna dla wiersza w przypadku gdy CustomerID jest równe 3.

Const DS = "MyServer"
Const DB = "AdventureWorks"

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

CommandText = "SELECT Demographics" & _
              " FROM Sales.Store" & _
              " WHERE CustomerID = 3" & _
              " OR 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

W tym przykładzie przedstawiono sposób zestaw zgodności właściwość typu danych.Domyślnie jest to zestaw na wartość 0 przy użyciu programu SQL Server Macierzysta klient. Po ustawieniu wartość 80, SQL Server Spowoduje, że macierzystego dostawca klient xml i kolumny typ zdefiniowany przez użytkownika są wyświetlane jako SQL Server 2000 typy danych. Byłoby to DBTYPE_WSTR i DBTYPE_BYTES, odpowiednio.

SQL ServerMacierzysta klient musi być również zainstalowany na komputerze klienckim i ciąg połączenia należy określić ją jako dostawca danych z"Provider=SQLNCLI10;...".

Aby przetestować ten przykład

  1. Sprawdź, czy SQL Server Zainstalowano klient macierzystych i później tego 2.6.0or MDAC jest dostępne na komputerze klienckim.

    Aby uzyskać więcej informacji zobaczProgram SQL Server 2008 Native klient Programming.

  2. Sprawdź, czy AdventureWorks Przykładowa baza danych w SQL Server został zainstalowany.

    W tym przykładzie wymaga AdventureWorks Przykładowa baza danych. Aby uzyskać więcej informacji zobaczConsiderations for Installing SQL Server Samples and Sample Databases.

  3. Skopiować kod wyświetlana wcześniej w tym temacie i Wklej kod do edytora tekstu lub kodu.Zapisz plik jako HandlingXmlDataType.vbs.

  4. Zmodyfikuj skrypt zgodnie z wymaganiami dla użytkownika SQL Server Instalacja i zapisać zmiany.

    Na przykład, jeżeli MyServer jest określony, należy zamienić go na jednej (local) lub rzeczywista nazwa serwera, na którym SQL Server został zainstalowany.

  5. Uruchom HandlingXmlDataType.vbs i uruchom skrypt.

Wyniki powinny być podobne do następujących przykładowe dane wyjściowe:

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>

Obsługa XML z typ kolumna przy użyciu ADO.NET xml

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.Na przykład xml dane typu kolumny, a jego wartości, które mogą być pobierane w taki sam sposób dowolnej kolumny SQL są pobierane za pomocą SqlDataReader.However, jeśli chcesz pracować z zawartością xml Kolumna typu danych w formacie XML, najpierw trzeba przypisać zawartość, aby XmlReader Typ.

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

Obsługa kolumna Typ w parametrach przy użyciu ADO.NET xml

Do obsługi przekazane jako parametr w ADO.NET typem danych xml, .NET Framework, wartość może dostarczyć jako wystąpienie SqlXml Typ danych. Nie obsługi specjalnych dotyczy, ponieważ xml Typ danych kolumny SQL Server akceptowane wartości parametrów w taki sam sposób jak inne kolumny i typy danych, takich jak string lub integer.

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

See Also

Concepts