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
'SQL Server > SQL Server Tip' 카테고리의 다른 글
XML nodes() 함수를 이용한 OPENXML 교체 (0) | 2015.07.20 |
---|---|
XQuery를 사용한 XML 데이터 업데이트 (0) | 2015.07.20 |
SQL Server로 데이터 가져오기 (0) | 2015.07.20 |
SQL Server Stored Procedure 암호화 (0) | 2015.07.20 |
SQL Server 대칭키 vs 비대칭키 암호화 (0) | 2015.07.20 |