bcp를 사용하여 데이터 형식을 호환 가능하도록 지정(SQL Server)Specify Data Formats for Compatibility when Using bcp (SQL Server)

이 항목에서는 데이터 형식 특성과 필드별 프롬프트에 대해 설명하고 SQL ServerSQL Serverbcp 명령의 비 xml 서식 파일에 필드 단위 데이터를 저장하는 방법에 대해 설명합니다.This topic describes the data-format attributes, field-specific prompts, and storing field-by-field data in a non-xml format file of the SQL ServerSQL Serverbcp command. 이러한 개념을 잘 알고 있으면 다른 데이터베이스 프로그램과 같은 다른 프로그램으로 대량으로 가져오기 위해 SQL ServerSQL Server 데이터를 대량으로 내보낼 때 특히 유용합니다.Understanding these can be helpful when you bulk export SQL ServerSQL Server data for bulk import into another program, such as another database program. 원본 테이블의 기본 데이터 형식(네이티브, 문자 또는 유니코드)이 다른 프로그램에서 필요한 데이터 레이아웃과 호환되지 않을 수 있습니다. 호환되지 않는 경우 데이터를 내보낼 때는 데이터 레이아웃을 지정해야 합니다.The default data formats (native, character, or Unicode) in the source table might be incompatible with the data layout expected by the other program If an incompatibility exists, when you export the data, you must describe the data layout.

참고

데이터를 가져오거나 내보내기 위한 데이터 형식에 익숙하지 않은 경우 대량 가져오기 또는 대량 내보내기를 위한 데이터 형식(SQL Server)을 참조하세요.If you are unfamiliar with data formats for importing or exporting data, see Data Formats for Bulk Import or Bulk Export (SQL Server).

bcp 데이터 형식 특성 bcp Data-Format Attributes

bcp 명령을 사용하면 데이터 파일 내 각 필드의 구조를 다음 데이터 형식 특성에 따라 지정할 수 있습니다.The bcp command allows you to specify the structure of each field in a data file in terms of the following data-format attributes:

  • 파일 저장 유형File storage type

    파일 저장 유형 은 데이터 파일에서 데이터가 저장되는 방법을 설명합니다.The file storage type describes how data is stored in the data file. 데이터는 데이터베이스 테이블 형식(네이티브 형식), 문자 표시(문자 형식) 또는 암시적 변환을 지원하는 모든 데이터 형식의 데이터 파일로 내보낼 수 있습니다. 예를 들어 smallintint로 복사할 수 있습니다.Data can be exported to a data file as its database table type (native format), in its character representation (character format), or as any data type where implicit conversion is supported; for example, copying a smallint as an int. 사용자 정의 데이터 형식은 해당 기본 형식으로 내보내집니다.User-defined data types are exported as their base types. 자세한 내용은 bcp를 사용하여 파일 저장 유형 지정(SQL Server)을 참조하세요.For more information, see Specify File Storage Type by Using bcp (SQL Server).

  • 접두사 길이Prefix length

    원시 형식의 데이터를 데이터 파일에 대량으로 내보내는 작업에서 파일 저장소를 가장 적게 사용하도록 하기 위해 bcp 명령은 각 필드의 이름 앞에 필드 길이를 나타내는 문자를 하나 이상 추가합니다.To provide the most compact file storage for the bulk export of data in native format to a data file, the bcp command precedes each field with one or more characters that indicates the length of the field. 이러한 문자를 길이 접두사 문자라고 합니다.These characters are called length prefix characters. 자세한 내용은 bcp를 사용하여 데이터 파일에 접두사 길이 지정(SQL Server)을 참조하세요.For more information, see Specify Prefix Length in Data Files by Using bcp (SQL Server).

  • 필드 길이Field length

    필드 길이는 데이터를 문자 형식으로 표시하는 데 필요한 최대 문자 수를 나타냅니다.The field length indicates the maximum number of characters that are required to represent data in character format. 데이터가 네이티브 형식으로 저장된 경우에는 필드 길이를 미리 알 수 있습니다.The field length is already known if the data is stored in the native format. 자세한 내용은 bcp를 사용하여 필드 길이 지정(SQL Server)을 참조하세요.For more information, see Specify Field Length by Using bcp (SQL Server).

  • 필드 종결자Field terminator

    문자 데이터 필드에서 필요에 따라 종료 문자를 사용하면 데이터 파일 내 각 필드( 필드 종결자사용)와 행( 행 종결자사용)의 끝을 표시할 수 있습니다.For character data fields, optional terminating characters allow you to mark the end of each field in a data file (using a field terminator) and the end of each row (using a row terminator). 종결 문자는 한 필드나 행이 끝나고 다른 필드나 행이 시작하는 부분을 표시하여 데이터 파일을 읽는 프로그램에 전달하는 한 방법입니다.Terminating characters are one way to indicate to programs reading the data file where one field or row ends and another begins. 자세한 내용은 필드 및 행 종결자 지정(SQL Server)을 참조하세요.For more information, see Specify Field and Row Terminators (SQL Server).

필드별 프롬프트 개요 Overview of the Field-Specific Prompts

대화형 bcp 명령에 in 또는 out 옵션은 있으나 서식 파일 스위치(-f)나 데이터 형식 스위치(-n, -c, -w또는 -N)는 없는 경우 원본 또는 대상 테이블의 각 열에 대해 명령에서 각 이전 특성을 지정하라는 메시지가 차례로 표시됩니다.If an interactive bcp command contains the in or out option but does not also contain either the format file switch (-f) or a data-format switch (-n, -c, -w, or -N), each column in the source or target table, the command prompts for each of the preceding attributes, in turn. bcp 명령은 각 메시지에서 테이블 열의 SQL ServerSQL Server 데이터 형식에 따라 기본값을 제공합니다.In each prompt, the bcp command provides a default value based on the SQL ServerSQL Server data type of the table column. 모든 메시지에서 기본값을 그대로 사용하면 명령줄에서 네이티브 형식(-n)을 지정한 것과 동일한 결과가 생성됩니다.Accepting the default value for all of the prompts produces the same result as specifying native format (-n) on the command line. 각 프롬프트에서 기본값은 [default]와 같이 대괄호에 묶여 표시됩니다.Each prompt displays a default value in brackets: [default]. 표시된 기본값을 적용하려면 Enter 키를 누릅니다.Pressing ENTER accepts the displayed default. 기본값 이외의 값을 지정하려면 프롬프트에서 새 값을 입력합니다.To specify a value other than the default, enter the new value at the prompt.

예제Example

다음 예에서는 bcp 명령을 사용하여 대화형으로 HumanResources.myTeam 테이블에서 myTeam.txt 파일로 대량 데이터 내보내기를 수행합니다.The following example uses the bcp command to bulk export data from the HumanResources.myTeam table interactively to the myTeam.txt file. 예를 실행하려면 이 테이블을 만들어야 합니다.Before you can run the example, you must create this table. 테이블 및 테이블을 만드는 방법은 HumanResources.myTeam 예제 테이블(SQL Server)을 참조하세요.For information about the table and how to create it, see HumanResources.myTeam Sample Table (SQL Server).

명령에서 서식 파일이나 데이터 형식을 지정하지 않기 때문에 bcp는 데이터 형식 정보를 묻는 메시지를 표시합니다.The command specifies neither a format file nor a data type, causing bcp to prompt for data-format information. MicrosoftMicrosoft Windows 명령 프롬프트에 다음을 입력합니다.At the MicrosoftMicrosoft Windows command prompt, enter:

bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T  

각 열에 대해 bcp는 필드별 값을 묻는 프롬프트를 표시합니다.For each column, bcp prompts for field-specific values. 다음 예는 테이블의 EmployeeIDName 열에 대한 필드별 프롬프트를 보여 주며 각 열에 대한 기본 파일 저장 유형(네이티브 형식)을 제안합니다.The following example shows the field-specific prompts for the EmployeeID and Name columns of the table, and suggests the default file storage type (the native format) for each column. EmployeeIDName 열의 접두사 길이는 각각 0, 2입니다.The prefix lengths of the EmployeeID and Name column are 0 and 2, respectively. 사용자는 각 필드의 종결자로 쉼표(,)를 지정합니다.The user specifies a comma (,) as the terminator of each field.

Enter the file storage type of field EmployeeID [smallint]:

Enter prefix-length of field EmployeeID [0]:

Enter field terminator [none]:,

Enter the file storage type of field Name [nvarchar]:

Enter prefix length of field Name [2]:

Enter field terminator [none]:,

.

.

.

각 테이블 열에 대한 프롬프트(필요한 경우에만)가 순서대로 표시됩니다.Equivalent prompts (as needed) are displayed for each of the table columns in order.

비 XML 서식 파일에 필드 단위 데이터 저장 Storing Field-by-Field Data in a Non-XML Format File

테이블 열이 모두 지정된 후 bcp 명령은 방금 입력한 필드 단위 정보를 저장할 비 XML 서식 파일을 필요에 따라 생성할지를 묻는 메시지를 표시합니다(이전 예 참조).After all of the table columns are specified, the bcp command prompts you to optionally generate a non-XML format file that stores the field-by-field information just supplied (see the preceding example). 서식 파일 생성하도록 선택하면 해당 테이블에서 데이터를 내보내거나 구조가 비슷한 데이터를 SQL ServerSQL Server로 가져올 때마다 서식 파일을 생성할 수 있습니다.If you choose to generate a format file, you can whenever you export data out of that table or import like-structured data into SQL ServerSQL Server.

참고

서식 파일을 사용하면 데이터 파일에서 SQL ServerSQL Server의 인스턴스로 데이터를 대량 가져오거나 테이블에서 데이터를 대량 내보낼 때 서식을 다시 지정할 필요가 없습니다.You can use the format file to bulk import data from the data file into an instance of SQL ServerSQL Server or to bulk export data from the table, without needing to respecify the format. 자세한 내용은 데이터를 가져오거나 내보내기 위한 서식 파일(SQL Server)을 참조하세요.For more information, see Format Files for Importing or Exporting Data (SQL Server).

다음 예에서는 myFormatFile.fmt라는 비 XML 서식 파일을 만듭니다.The following example creates a non-XML format file named myFormatFile.fmt:

Do you want to save this format information in a file? [Y/n] y

Host filename: [bcp.fmt]myFormatFile.fmt

서식 파일의 기본 이름은 bcp.fmt지만 필요하다면 다른 이름을 지정할 수 있습니다.The default name for the format file is bcp.fmt, but you can specify a different file name if you choose.

참고

문자 또는 네이티브 형식과 같은 하나의 데이터 형식으로 파일을 저장하는 데이터 파일의 경우 format 옵션을 사용하면 데이터를 내보내거나 가져올 필요 없이 즉시 형식 파일을 만들 수 있습니다.For a data file that uses a single data format for its file-storage type, such as character or native format, you can quickly create a format file without exporting or importing data by using the format option. 이 방법은 쉽고, XML 서식 파일뿐 아니라 비 XML 서식 파일도 만들 수 있다는 장점이 있습니다.This approach has the advantages of being easy and of allowing you to create either an XML format file or a non-XML format file. 자세한 내용은 서식 파일 만들기(SQL Server)를 참조하세요.For more information, see Create a Format File (SQL Server).

없음None.

참고 항목See Also

데이터 대량 가져오기 및 내보내기(SQL Server) Bulk Import and Export of Data (SQL Server)
대량 가져오기 또는 대량 내보내기를 위한 데이터 형식(SQL Server) Data Formats for Bulk Import or Bulk Export (SQL Server)
bcp 유틸리티 bcp Utility
데이터 형식(Transact-SQL) Data Types (Transact-SQL)