데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

BCP XML 파일 형식

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

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
1731 SQL Server 그래픽 실행 계획 및 텍스트 실행 계획 jevida(강성욱) 2016.09.14 3126
1730 SQL Server에서 Trigger 활성 / 비활성 감시 jevida(강성욱) 2016.09.14 1469
1729 DDL Trigger를 이용한 데이터베이스 변경 사항 추적 jevida(강성욱) 2016.09.14 1230
1728 Trigger를 이용한 SQL Server 커넥션 풀링 확인 jevida(강성욱) 2016.09.14 1088
1727 SQL Server Trigger jevida(강성욱) 2016.09.14 938
1726 인덱스에 대한 SORT_IN_TEMPDB 옵션 jevida(강성욱) 2016.09.14 846
1725 인덱스 DDL 작업의 디스크 공간 요구 사항 jevida(강성욱) 2016.09.14 912
1724 XML nodes() 함수를 이용한 OPENXML 교체 jevida(강성욱) 2016.09.14 945
1723 XQuery를 사용한 XML 데이터 업데이트 jevida(강성욱) 2016.09.14 1883
» BCP XML 파일 형식 jevida(강성욱) 2016.09.14 1255
1721 SQL Server로 데이터 가져오기 jevida(강성욱) 2016.09.14 1223
1720 SQL Server Stored Procedure 암호화 jevida(강성욱) 2016.09.14 2689
1719 SQL Server 대칭키 vs 비대칭키 암호화 jevida(강성욱) 2016.09.14 1687
1718 SQL Server 마스터 키 관리 jevida(강성욱) 2016.09.14 1750
1717 대칭키를 사용하여 SQL Server 암호화(열 수준) 하기 jevida(강성욱) 2016.09.13 5673
1716 DMV를 사용하여 누락된 인덱스 확인 jevida(강성욱) 2016.09.13 1343
1715 DMV를 이용한 SQL Server 대기 상태 확인 jevida(강성욱) 2016.09.13 3807
1714 DMV를 이용한 SQL Server 성능 카운터 확인 jevida(강성욱) 2016.09.13 1787
1713 DMV를 이용한 SQL Server IO 성능 모니터 스냅샷 만들기 jevida(강성욱) 2016.09.13 1244
1712 DMV를 활용한 SQL Server 모니터링 jevida(강성욱) 2016.09.13 1261





XE Login