SQL Server/SQL Server Tip

BCP XML 파일 형식

SungWookKang 2015. 7. 20. 11:19
반응형

BCP XML 파일 형식

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SQL Server 환경에서 데이터를 가져오거나 내보내기 할 필요가 있다. SQL Server 2000 까지는 DTS를 사용하였고 SQL Server 2005 부터는 SSIS라는 SQL Server 통합서비스를 사용하였다. BCP라는 대량 복사 프로그램도 있다.

 

BCP 정리 : http://sqlmvp.kr/140176987081

 

SSIS의 경우에는 GUI 기능 제공으로 많은 유연성을 제공한다. BCP의 경우에도 많은 기능이 향상 되었다. SQL Server 2005 부터는 데이터를 정의하는 형식의 파일을 생성하는데 XML 서식을 사용 할 수 있게 되었다.

 

XML 형식 파일의 이점은

  • 쉬운 생성, 읽기, 확장.
  • 사람이 읽을 수 있는 형태이기 때문에 대량 작업 중에 데이터가 해석되는 방식을 쉽게 이해 가능.
  • 대상 열의 데이터 형식이 포함됨.
  • XML 인코딩은 데이터 파일의 데이터 형식과 데이터 요소뿐만 아니라 데이터 요소와 테이블 열 간의 매핑도 명확하게 설명.
  • 단일 LOB(Large Object) 데이터 형식이 포함된 필드를 로드 할 수 있음.
  • 호환성 유지.

 

이 외에도 여러 가지 장점이 있다.

 

XML 서식 구조에는 <Record>, <Row>가 있다.

  • <Record>는 데이터 파일에 저장되어 있는 데이터를 설명 한다. 각 <Record> 요소는 하나 이상의 <Field>요소 집합을 포함한다. 각 <Field>요소는 특정 데이터 필드의 내용을 설명 한다. 필드 하나는 테이블의 열 하나에만 매핑 할 수 있지만 모든 필드를 열애 매핑해야 하는 것은 아니다.
  • <Row>는 데이터를 SQL Server로 가져올 때 파일의 데이터 행을 구성한다. <Row>요소에는 <Column>열 집합이 포함 된다. 각 <Column> 요소는 데이터 파일의 필드 하나에만 매핑 할 수 있다. <Row>요소에서 <Column>요소의 순서에 따라 대량 작업에서 반환되는 순서가 정의 된다.

 

BCP명령으로 XML 파일 형식을 생성하여 보자.

bcp AdventureWorks.Person.Address format nul -T -c -x -f PersonAddress.xml

 

 

생성된 XML파일을 열어 보면 다음과 같이 AdventureWorks 데이터베이스의 Person.Address의 데이터 형식 및 스키마 정의를 확인 할 수 있다.

 

참고링크

http://msdn.microsoft.com/ko-kr/library/ms162802.aspx

http://msdn.microsoft.com/ko-kr/library/ms187833.aspx

 

2013-02-04 / 강성욱 / http://sqlmvp.kr

 

반응형