BCP XML 파일 형식

jevida(강성욱) 2016.09.14 06:50 Views : 1302

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

 


강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 14123
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 8743
1734 SQL Server Plan Guide 생성 및 사용 jevida(강성욱) 2016.09.14 1517
1733 SQL Server 그래픽 실행 계획 노드 정보 jevida(강성욱) 2016.09.14 1119
1732 프로파일러를 이용한 실행계획 캡처하기 jevida(강성욱) 2016.09.14 994
1731 SQL Server 그래픽 실행 계획 및 텍스트 실행 계획 jevida(강성욱) 2016.09.14 3247
1730 SQL Server에서 Trigger 활성 / 비활성 감시 jevida(강성욱) 2016.09.14 1654
1729 DDL Trigger를 이용한 데이터베이스 변경 사항 추적 jevida(강성욱) 2016.09.14 1405
1728 Trigger를 이용한 SQL Server 커넥션 풀링 확인 jevida(강성욱) 2016.09.14 1129
1727 SQL Server Trigger jevida(강성욱) 2016.09.14 987
1726 인덱스에 대한 SORT_IN_TEMPDB 옵션 jevida(강성욱) 2016.09.14 887
1725 인덱스 DDL 작업의 디스크 공간 요구 사항 jevida(강성욱) 2016.09.14 951
1724 XML nodes() 함수를 이용한 OPENXML 교체 jevida(강성욱) 2016.09.14 1095
1723 XQuery를 사용한 XML 데이터 업데이트 jevida(강성욱) 2016.09.14 1987
» BCP XML 파일 형식 jevida(강성욱) 2016.09.14 1302
1721 SQL Server로 데이터 가져오기 jevida(강성욱) 2016.09.14 1337
1720 SQL Server Stored Procedure 암호화 jevida(강성욱) 2016.09.14 2808
1719 SQL Server 대칭키 vs 비대칭키 암호화 jevida(강성욱) 2016.09.14 1759
1718 SQL Server 마스터 키 관리 jevida(강성욱) 2016.09.14 2045
1717 대칭키를 사용하여 SQL Server 암호화(열 수준) 하기 jevida(강성욱) 2016.09.13 5900
1716 DMV를 사용하여 누락된 인덱스 확인 jevida(강성욱) 2016.09.13 1408
1715 DMV를 이용한 SQL Server 대기 상태 확인 jevida(강성욱) 2016.09.13 4383





XE Login