응용 프로그램에서 xml 데이터 형식 사용

이 항목에서는 응용 프로그램에서 xml 데이터 형식을 사용하기 위해 제공되는 옵션에 대해 설명합니다. 이 항목에는 다음에 대한 정보가 포함됩니다.

  • ADO 및 SQL 네이티브 클라이언트를 사용하여 xml 유형의 열에서 XML 처리
  • ADO.NET을 사용하여 xml 유형의 열에서 XML 처리
  • ADO.NET을 사용하여 매개 변수에서 xml 유형 처리

ADO 및 SQL 네이티브 클라이언트를 사용하여 xml 유형의 열에서 XML 처리

SQL Server 2005 에서는 코드를 변경할 필요 없이 SQL Server 2000 에 제공된 유형 및 기능에 대한 데이터 액세스를 위해 MDAC 구성 요소를 계속 사용할 수 있습니다. 하지만 SQL Server 2005 에 새로 제공되는 유형 및 기능을 사용할 수 있으므로 ADO 연결 문자열에 새로운 초기화 속성인 DataTypeCompatibility가 설정되어 있어야 합니다.

예를 들어 다음 Visual Basic Scripting Edition(VBScript) 예제는 AdventureWorks 예제 데이터베이스의 Sales.Store 테이블에서 Demographics라는 xml 데이터 형식 열을 쿼리한 결과를 보여 줍니다. 특히 이 쿼리는 이 열의 항목 값에서 CustomerID3인 행을 검색합니다.

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=SQLNCLI" & _
                   ";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

이 예에서는 데이터 형식 호환성 속성을 설정하는 방법을 보여 줍니다. 기본적으로 이 속성은 SQL 네이티브 클라이언트를 사용할 경우 0으로 설정됩니다. 이 값을 80으로 설정하면 SQL 네이티브 클라이언트 공급자는 xml 및 사용자 정의 유형 열이 SQL Server 2000 데이터 형식으로 표시되도록 만듭니다. 이러한 유형은 각각 DBTYPE_WSTR 및 DBTYPE_BYTES입니다.

SQL 네이티브 클라이언트는 또한 클라이언트 컴퓨터에 설치되어 있어야 하며 연결 문자열에는 "Provider=SQLNCLI;..."에서 데이터 공급자로 사용할 수 있도록 이 클라이언트가 지정되어 있어야 합니다.

이 예를 테스트하려면

  1. SQL 네이티브 클라이언트가 설치되어 있고 MDAC 2 버전 6.0 또는 이후 버전을 클라이언트 컴퓨터에서 사용할 수 있는지 확인하십시오.

    자세한 내용은 SQL Native Client Programming을 참조하십시오.

  2. SQL Server 2005 의 AdventureWorks 예제 데이터베이스가 설치되어 있는지 확인합니다.

    이 예에는 AdventureWorks 예제 데이터베이스가 필요합니다. 자세한 내용은 AdventureWorks 예제 및 예제 데이터베이스 설치를 참조하십시오.

  3. 이 항목의 앞에 표시된 코드를 복사하여 텍스트 또는 코드 편집기에 붙여 넣습니다. 파일을 HandlingXmlDataType.vbs로 저장합니다.

  4. SQL Server 2005 설치에 필요한 대로 스크립트를 수정하고 변경 내용을 저장합니다.

    예를 들어 MyServer가 지정된 경우 이를 (local)이나 SQL Server 2005 가 설치된 서버의 실제 이름으로 바꿔야 합니다.

  5. HandlingXmlDataType.vbs를 실행하고 스크립트를 실행합니다.

결과는 다음 예제 결과와 비슷해야 합니다.

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>

ADO.NET을 사용하여 xml 유형의 열에서 XML 처리

ADO.NET 및 Microsoft .NET Framework 를 사용하여 xml 데이터 형식 열에서 XML을 처리하려면 SqlCommand 클래스의 표준 동작을 사용할 수 있습니다. 예를 들어 xml 데이터 형식 열과 해당 값은 SqlDataReader를 사용하여 SQL 열을 검색하는 것과 같은 방식으로 검색할 수 있습니다. 하지만 xml 데이터 형식 열의 콘텐츠를 XML로 사용하려는 경우 이 콘텐츠를 먼저 XmlReader 유형에 할당해야 합니다.

자세한 내용과 코드 예는 Microsoft .NET Framework 2.0 SDK 설명서의 "XML Column Values in a Data Reader"를 참조하십시오.

ADO.NET을 사용하여 매개 변수의 xml 유형 열 처리

ADO.NET 및 .NET Framework 의 매개 변수로 전달된 xml 데이터 형식을 처리하려면 SqlXml 데이터 형식의 인스턴스로 값을 제공할 수 있습니다. SQL Server 2005 의 xml 데이터 형식 열은 string 또는 integer와 같이 다른 열 및 데이터 형식과 동일한 방식으로 매개 변수 값을 수락할 수 있기 때문에 특수한 조치가 필요하지 않습니다.

자세한 내용과 코드 예는 Microsoft .NET Framework 2.0 SDK 설명서의 "XML Values as Command Parameters"를 참조하십시오.

참고 항목

개념

xml 데이터 형식

도움말 및 정보

SQL Server 2005 지원 받기