현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

XML 대량 로드 구성 요소를 사용하여 XML을 SQL Server로 가져오는 방법

이 문서는 이전에 다음 ID로 출판되었음: KR316005
요약
XML 대량 로드 구성 요소를 사용하여 XML로 표시된 데이터를 Microsoft SQL Server 2000 데이터베이스로 로드할 수 있습니다. 이 문서에서는 XML 데이터를 데이터베이스 테이블로 로드하는 데 필요한 단계에 대해 설명합니다.

참고 SQL Server 2005를 사용하는 경우 SQL Server 2005 온라인 설명서의 "XML Bulk Load Examples" 항목을 참조하십시오.

맨 위로

요구 사항

이 문서의 단계를 수행하려면 아래와 같은 조건을 갖추어야 합니다.
  • XML for SQL Server 2000(SQLXML) 웹 릴리스 1 이상
필요한 사전 지식:
  • XML에 대한 지식

맨 위로

데이터를 수신하는 테이블 만들기

다음 단계를 수행하여 XML 대량 로드 구성 요소에서 처리하는 데이터를 수신하는 테이블을 만듭니다.
  1. SQL Server에서 MyDatabase라는 데이터베이스를 만듭니다.
  2. SQL 쿼리 분석기를 연 다음 데이터베이스를 MyDatabase로 변경합니다.
  3. 쿼리 분석기에서 다음 SQL 문을 실행하여 MyDatabaseCustomer 테이블을 만듭니다.
    USE MyDatabaseCREATE TABLE Customer (   CustomerId INT PRIMARY KEY,   CompanyName NVARCHAR(20),   City NVARCHAR(20))					

맨 위로

XML 데이터 원본 파일 만들기

다음은 예제 데이터 원본 코드입니다. 이 XML을 메모장에 붙여넣은 다음 C:/Customers.xml 파일로 저장합니다.
<ROOT>  <Customers>    <CustomerId>1111</CustomerId>    <CompanyName>Sean Chai</CompanyName>    <City>NY</City>  </Customers>  <Customers>    <CustomerId>1112</CustomerId>    <CompanyName>Tom Johnston</CompanyName>    <City>LA</City>  </Customers>  <Customers>    <CustomerId>1113</CustomerId>    <CompanyName>Institute of Art</CompanyName>  </Customers></ROOT>				

맨 위로

매핑 스키마 파일 만들기

다음은 데이터 원본 XML의 형식을 데이터베이스에 있는 Customer 테이블의 형식에 매핑하는 데 사용되는 파일입니다. 이 XML을 메모장에 붙여넣은 다음 C:/Customermapping.xml 파일로 저장합니다.
<?xml version="1.0" ?><Schema xmlns="urn:schemas-microsoft-com:xml-data"        xmlns:dt="urn:schemas-microsoft-com:xml:datatypes"          xmlns:sql="urn:schemas-microsoft-com:xml-sql" >    <ElementType name="CustomerId" dt:type="int" />   <ElementType name="CompanyName" dt:type="string" />   <ElementType name="City" dt:type="string" />   <ElementType name="ROOT" sql:is-constant="1">      <element type="Customers" />   </ElementType>   <ElementType name="Customers"  sql:relation="Customer">      <element type="CustomerId"  sql:field="CustomerId" />      <element type="CompanyName" sql:field="CompanyName" />      <element type="City"        sql:field="City" />   </ElementType></Schema>				

맨 위로

XML 대량 로드 구성 요소를 실행하는 VBScript 프로그램 만들기

다음은 "매핑 스키마 파일 만들기" 절에 설명된 매핑 스키마를 사용하여 "XML 데이터 원본 파일 만들기" 절에서 만든 세 레코드를 "데이터를 수신하는 테이블 만들기" 절에서 만든 테이블에 삽입하는 XML 대량 로드 구성 요소를 사용하는 스크립트입니다. 이 VBScript 코드를 메모장에 붙여넣은 다음 C:\Insertcustomers.vbs 파일로 저장합니다.
Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MySQLServer;database=MyDatabase;uid=MyAccount;pwd=MyPassword"objBL.ErrorLogFile = "c:\error.log"objBL.Execute "c:\customermapping.xml", "c:\customers.xml"Set objBL = Nothing				
스크립트가 현재 사용자의 SQL Server 설치에서 작동하도록 코드의 두 번째 줄에 있는 ConnectionString 자격 증명을 수정합니다. 두 번째 줄을 수정하지 않으면 스크립트 실행 후 다음과 같은 오류 메시지가 나타납니다.
데이터 원본에 연결하는 동안 오류가 발생했습니다.

맨 위로

VBScript 프로그램 실행

VBScript 프로그램 C:\Insertcustomers.vbs를 실행하여 세 고객 레코드를 Customer 테이블에 삽입합니다.

맨 위로

작동 여부 확인

SQL 쿼리 분석기에서 MyDatabase 데이터베이스로 전환한 후 다음 쿼리를 실행합니다.
SELECT * FROM Customer				
이제 "XML 데이터 원본 파일 만들기" 절에서 만든 세 레코드가 Customer 테이블에 존재합니다.

맨 위로

다른 방법

XML 대량 로드 구성 요소로 수행할 수 있는 다른 작업은 다음과 같습니다.
  • XML 스키마 파일에 지정된 관계를 사용하여 XML 문서를 여러 테이블에 매핑
  • 대량 로드 전에 테이블 스키마 생성
  • 스트림에서 대량 로드
  • 오버플로 열의 대량 로드

맨 위로

참조

SQLXML 온라인 설명서 항목: "Performing Bulk Load of XML Data"

맨 위로



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
속성

문서 ID: 316005 - 마지막 검토: 05/17/2011 19:54:00 - 수정: 5.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlmanagementtools kbhowtomaster KB316005
피드백
/ms.js"> amp;t=">g style="display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("