서식 파일 만들기
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
, GroupName
및 ModifiedDate
열이 들어 있습니다. 이 테이블의 정의에 대해서는 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
, GroupName
및 ModifiedDate
열이 들어 있습니다. 이 테이블의 정의에 대해서는 Department 테이블(AdventureWorks)을 참조하십시오.
[!참고] Adventure Works Cycles는 데이터베이스 개념 및 시나리오를 설명하는 데 사용되는 가상 제조 회사입니다.
1. 문자 데이터용 XML 서식 파일 만들기
다음 예에서는 AdventureWorks``HumanResources.Department
테이블에 대한 Department.xml
XML 서식 파일을 만듭니다. 서식 파일은 문자 데이터 형식 및 기본이 아닌 필드 종결자(,
)를 사용합니다. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.
bcp 명령에는 다음 한정자가 포함됩니다.
한정자
설명
formatnul-fformat_file-x
XML 서식 파일을 지정합니다.
-c
문자 데이터를 지정합니다.
-t,
쉼표(,)를 필드 종결자로 지정합니다.
참고:
데이터 파일이 기본 필드 종결자(\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 서식 파일 이해