BCP XML 파일 형식

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

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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 528
1726 인덱스에 대한 SORT_IN_TEMPDB 옵션 jevida(강성욱) 2016.09.14 875
1725 인덱스 DDL 작업의 디스크 공간 요구 사항 jevida(강성욱) 2016.09.14 934
1724 XML nodes() 함수를 이용한 OPENXML 교체 jevida(강성욱) 2016.09.14 1023
1723 XQuery를 사용한 XML 데이터 업데이트 jevida(강성욱) 2016.09.14 1947
» BCP XML 파일 형식 jevida(강성욱) 2016.09.14 1284
1721 SQL Server로 데이터 가져오기 jevida(강성욱) 2016.09.14 1297
1720 SQL Server Stored Procedure 암호화 jevida(강성욱) 2016.09.14 2780
1719 SQL Server 대칭키 vs 비대칭키 암호화 jevida(강성욱) 2016.09.14 1723
1718 SQL Server 마스터 키 관리 jevida(강성욱) 2016.09.14 1907
1717 대칭키를 사용하여 SQL Server 암호화(열 수준) 하기 jevida(강성욱) 2016.09.13 5802
1716 DMV를 사용하여 누락된 인덱스 확인 jevida(강성욱) 2016.09.13 1386
1715 DMV를 이용한 SQL Server 대기 상태 확인 jevida(강성욱) 2016.09.13 4117
1714 DMV를 이용한 SQL Server 성능 카운터 확인 jevida(강성욱) 2016.09.13 1839
1713 DMV를 이용한 SQL Server IO 성능 모니터 스냅샷 만들기 jevida(강성욱) 2016.09.13 1266
1712 DMV를 활용한 SQL Server 모니터링 jevida(강성욱) 2016.09.13 1297
1711 세션에 따른 캐시된 쿼리 플랜 설정 확인 jevida(강성욱) 2016.09.13 891
1710 SQL Server 특정 세션에 대한 마지막 실행 문장 확인 jevida(강성욱) 2016.09.13 748
1709 DMV - 데이터베이스 버퍼 메모리 사용량 확인 jevida(강성욱) 2016.09.13 3060
1708 Sys.dm_fts_parser을 이용한 문자열 구문 분석 jevida(강성욱) 2016.09.13 1350
1707 DMV에서 SQL Server 리소스 데이터베이스 값 jevida(강성욱) 2016.09.13 1091





XE Login