서식 파일 만들기

SQL Server 테이블에 데이터를 대량으로 가져오거나 테이블의 데이터를 대량으로 내보내는 경우 서식 파일을 사용하면 해당 테이블을 기준으로 데이터 파일에 각 필드에 대한 서식 정보를 저장할 수 있습니다. 서식 파일을 사용하면 다른 데이터 형식과 맞추기 위한 편집 작업이 거의 필요 없는 데이터 파일을 작성하거나 다른 소프트웨어의 데이터 파일을 읽는 작업을 유연하게 수행할 수 있습니다.

SQL Server 2005에서는 비 XML 서식 파일과 XML 서식 파일을 지원합니다. 비 XML 서식 파일은 이전 버전의 SQL Server에서 원래 지원했던 서식 파일입니다. 일반적으로 SQL Server 2005에서 XML 서식 파일과 비 XML 서식 파일은 서로 전환할 수 있지만 비 XML 서식 파일에 비해 여러 가지 장점을 가진 새 서식 파일에 대한 XML 구문을 사용하는 것이 좋습니다. 자세한 내용은 서식 파일 소개를 참조하십시오.

[!참고] 서식 파일을 읽는 데 사용되는 bcp 유틸리티(Bcp.exe)의 버전은 서식 파일을 만드는 데 사용되는 버전 이상이어야 합니다. 예를 들어 SQL Server 2005 bcp는 SQL Server 2000 bcp에서 생성된 버전 8.0 서식 파일을 읽을 수 있지만 SQL Server 2000 bcp는 SQL Server 2005 bcp에서 생성된 버전 9.0 서식 파일을 읽을 수 없습니다.

이 항목에서는 bcp 유틸리티를 사용하여 특정 테이블에 대한 서식 파일을 만드는 방법에 대해 설명합니다. 서식 파일은 지정된 데이터 형식 옵션(-n, -c, -w, -6 또는 -N) 및 테이블 또는 뷰 구분 기호를 기반으로 합니다.

비 XML 서식 파일 만들기

bcp 명령을 사용하여 서식 파일을 만들려면 데이터 파일 경로 대신 format 인수를 지정하고 nul을 사용합니다. format 옵션에는 다음과 같이 -f 옵션도 필요합니다.

bcptable_or_viewformat nul -fformat_file_name

[!참고] 비 XML 서식 파일을 구분하기 위해 파일 이름 확장명으로 .fmt를 사용하는 것이 좋습니다(예: MyTable.fmt).

비 XML 서식 파일의 구조 및 필드에 대한 자세한 내용은 비-XML 서식 파일 이해를 참조하십시오.

이 섹션에는 bcp 명령을 사용하여 비 XML 서식 파일을 만드는 방법을 보여 주는 다음 예가 포함되어 있습니다.

  • 1. 네이티브 데이터용 비 XML 서식 파일 만들기
  • 2. 문자 데이터용 비 XML 서식 파일 만들기
  • 3. 유니코드 네이티브 데이터용 비 XML 서식 파일 만들기
  • 4. 유니코드 문자 데이터용 비 XML 서식 파일 만들기

다음 예에서는 AdventureWorks 예제 데이터베이스의 HumanResources.Department 테이블을 사용합니다. HumanResources.Department 테이블에는 DepartmentID, Name, GroupNameModifiedDate 열이 들어 있습니다. 이 테이블의 정의에 대해서는 Department 테이블(AdventureWorks)을 참조하십시오.

[!참고] Adventure Works Cycles는 데이터베이스 개념 및 시나리오를 설명하는 데 사용되는 가상 제조 회사입니다.

1. 네이티브 데이터용 비 XML 서식 파일 만들기

다음 예에서는 AdventureWorks``HumanResources.Department 테이블에 대한 Department-n.xml XML 서식 파일을 만듭니다. 서식 파일은 네이티브 데이터 형식을 사용합니다. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.

bcp 명령에는 다음 한정자가 포함됩니다.

한정자 설명

formatnul-fformat_file

비 XML 서식 파일을 지정합니다.

-n

네이티브 데이터 형식을 지정합니다.

-T

bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL Server로 연결되도록 지정합니다. -T가 지정되어 있지 않을 경우 성공적으로 로그인하려면 -U-P를 지정해야 합니다.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.

bcp AdventureWorks.HumanResources.Department format nul -T -n -f Department-n.fmt

생성된 Department-n.fmt 서식 파일에는 다음 정보가 포함됩니다.

9.0
4
1       SQLSMALLINT   0       2       ""   1     DepartmentID                 ""
2       SQLNCHAR      2       100     ""   2     Name                         SQL_Latin1_General_CP1_CI_AS
3       SQLNCHAR      2       100     ""   3     GroupName                    SQL_Latin1_General_CP1_CI_AS
4       SQLDATETIME   0       8       ""   4     ModifiedDate                 ""

자세한 내용은 비-XML 서식 파일 이해를 참조하십시오.

2. 문자 데이터용 비 XML 서식 파일 만들기

다음 예에서는 AdventureWorks``HumanResources.Department 테이블에 대한 Department.fmt XML 서식 파일을 만듭니다. 서식 파일은 문자 데이터 형식 및 기본이 아닌 필드 종결자(,)를 사용합니다. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.

bcp 명령에는 다음 한정자가 포함됩니다.

한정자 설명

formatnul-fformat_file

비 XML 서식 파일을 지정합니다.

-c

문자 데이터를 지정합니다.

-T

bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL Server로 연결되도록 지정합니다. -T가 지정되어 있지 않을 경우 성공적으로 로그인하려면 -U-P를 지정해야 합니다.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.

bcp AdventureWorks.HumanResources.Department format nul -c -f Department-c.fmt -T

생성된 Department-c.fmt 서식 파일에는 다음 정보가 포함됩니다.

9.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID                 ""
2       SQLCHAR       0       100     "\t"     2     Name                         SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName                    SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate                 ""

자세한 내용은 비-XML 서식 파일 이해를 참조하십시오.

3. 유니코드 네이티브 데이터용 비 XML 서식 파일 만들기

HumanResources.Department 테이블을 위한 유니코드 네이티브 데이터용 비 XML 서식 파일을 만들려면 다음 명령을 사용합니다.

bcp AdventureWorks.HumanResources.Department format nul -T -N -f Department-n.fmt

유니코드 네이티브 데이터 사용 방법은 데이터를 가져오거나 내보내기 위해 유니코드 네이티브 형식 사용을 참조하십시오.

4. 유니코드 문자 데이터용 비 XML 서식 파일 만들기

기본 종결자를 사용하는 HumanResources.Department 테이블을 위한 유니코드 문자 데이터용 비 XML 서식 파일을 만들려면 다음 명령을 사용합니다.

bcp AdventureWorks.HumanResources.Department format nul -T -w -f Department-w.fmt

유니코드 문자 데이터 사용 방법은 유니코드 문자 형식을 사용하여 데이터 가져오기 및 내보내기을 참조하십시오.

XML 서식 파일 만들기

bcp 명령을 사용하여 서식 파일을 만들려면 데이터 파일 경로 대신 format 인수를 지정하고 nul을 사용합니다. 다음과 같이 format 옵션에는 항상 -f 옵션이 필요하며 XML 서식 파일을 만드는 경우 -x 옵션도 지정해야 합니다.

bcptable_or_viewformat nul-fformat_file_name-x

[!참고] XML 서식 파일을 구분하기 위해 파일 이름 확장명으로 .xml을 사용하는 것이 좋습니다(예: MyTable.xml).

XML 서식 파일의 구조 및 필드에 대한 자세한 내용은 XML 서식 파일 이해를 참조하십시오.

이 섹션에는 bcp 명령을 사용하여 XML 서식 파일을 만드는 방법을 보여 주는 다음 예가 포함되어 있습니다.

  • 1. 문자 데이터용 XML 서식 파일 만들기
  • 2. 네이티브 데이터용 XML 서식 파일 만들기

다음 예에서는 AdventureWorks 예제 데이터베이스의 HumanResources.Department 테이블을 사용합니다. HumanResources.Department 테이블에는 DepartmentID, Name, GroupNameModifiedDate 열이 들어 있습니다. 이 테이블의 정의에 대해서는 Department 테이블(AdventureWorks)을 참조하십시오.

[!참고] Adventure Works Cycles는 데이터베이스 개념 및 시나리오를 설명하는 데 사용되는 가상 제조 회사입니다.

1. 문자 데이터용 XML 서식 파일 만들기

다음 예에서는 AdventureWorks``HumanResources.Department 테이블에 대한 Department.xml XML 서식 파일을 만듭니다. 서식 파일은 문자 데이터 형식 및 기본이 아닌 필드 종결자(,)를 사용합니다. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.

bcp 명령에는 다음 한정자가 포함됩니다.

한정자

설명

formatnul-fformat_file-x

XML 서식 파일을 지정합니다.

-c

문자 데이터를 지정합니다.

-t,

쉼표(,)를 필드 종결자로 지정합니다.

ms191516.note(ko-kr,SQL.90).gif참고:

데이터 파일이 기본 필드 종결자(\t)를 사용하면 -t 스위치는 불필요합니다.

-T

bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL Server로 연결되도록 지정합니다. -T가 지정되어 있지 않을 경우 성공적으로 로그인하려면 -U-P를 지정해야 합니다.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.

bcp AdventureWorks.HumanResources.Department format nul -c -x -f Department-c..xml –t, -T

생성된 Department-c.xml 서식 파일에는 다음 XML 요소가 포함됩니다.

<?xml version="1.0"?>
<BCPFORMAT xmlns="https://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
 </ROW>
</BCPFORMAT>

이 서식 파일의 구문에 대한 자세한 내용은 XML 서식 파일의 스키마 구문을 참조하십시오. 문자 데이터에 대한 자세한 내용은 데이터를 가져오거나 내보낼 때 문자 형식 사용을 참조하십시오.

2. 네이티브 데이터용 XML 서식 파일 만들기

다음 예에서는 AdventureWorks``HumanResources.Department 테이블에 대한 Department-n.xml XML 서식 파일을 만듭니다. 서식 파일은 네이티브 데이터 형식을 사용합니다. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.

bcp 명령에는 다음 한정자가 포함됩니다.

한정자 설명

formatnul-fformat_file-x

XML 서식 파일을 지정합니다.

-n

네이티브 데이터 형식을 지정합니다.

-T

bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL Server로 연결되도록 지정합니다. -T가 지정되어 있지 않을 경우 성공적으로 로그인하려면 -U-P를 지정해야 합니다.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.

bcp AdventureWorks.HumanResources.Department format nul -x -f Department-n..xml -n -T

생성된 Department-n.xml 서식 파일에는 다음 XML 요소가 포함됩니다.

<?xml version="1.0"?>
<BCPFORMAT xmlns="https://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="NativeFixed" LENGTH="2"/>
  <FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="NativeFixed" LENGTH="8"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
 </ROW>
</BCPFORMAT>

이 서식 파일의 구문에 대한 자세한 내용은 XML 서식 파일의 스키마 구문을 참조하십시오. 네이티브 데이터 사용 방법은 네이티브 형식을 사용하여 데이터 가져오기 및 내보내기을 참조하십시오.

테이블 열에 데이터 필드 매핑

bcp에서 만든 서식 파일은 모든 테이블 열에 대한 설명을 순서대로 제공합니다. 서식 파일을 수정하여 테이블 행을 다시 정렬하거나 생략할 수 있습니다. 이렇게 하면 테이블 열에 직접 매핑하지 않는 필드가 있는 데이터 파일에 대해 서식 파일을 사용자 지정할 수 있습니다. 자세한 내용은 다음 항목을 참조하십시오.

참고 항목

개념

XML 서식 파일 샘플
서식 파일을 사용하여 테이블 열을 데이터 파일 필드에 매핑
서식 파일을 사용하여 테이블 열 건너뛰기
서식 파일을 사용하여 데이터 필드 건너뛰기
비-XML 서식 파일 이해
XML 서식 파일 이해

관련 자료

bcp 유틸리티

도움말 및 정보

SQL Server 2005 지원 받기