Integration Services 데이터 형식
업데이트: 2007년 9월 15일
데이터가 패키지의 데이터 흐름으로 들어갈 때 데이터를 추출하는 원본은 데이터를 Integration Services 데이터 형식으로 변환합니다. 숫자 데이터에는 숫자 데이터 형식이 지정되고, 문자열 데이터에는 문자 데이터 형식이, 그리고 날짜에는 날짜 데이터 형식이 지정됩니다. 또한 GUID 및 BLOB(Binary Large Object Block)과 같은 다른 데이터에는 해당 Integration Services 데이터 형식이 지정됩니다. 데이터에 Integration Services 데이터 형식과 호환되지 않는 데이터 형식이 있는 경우에는 오류가 발생합니다.
일부 데이터 흐름 구성 요소는 Integration Services 데이터 형식과 Microsoft .NET Framework의 관리 데이터 형식 간의 데이터 형식을 변환합니다. Integration Services와 관리 데이터 형식 간 매핑에 대한 자세한 내용은 Mapping Data Types in the Data Flow을 참조하십시오.
다음 표에서는 Integration Services 데이터 형식을 나열합니다.
데이터 형식 | 설명 |
---|---|
DT_BOOL |
부울 값입니다. |
DT_BYTES |
이진 데이터 값입니다. 길이는 가변적이고 최대 길이는 8000바이트입니다. |
DT_CY |
통화 값입니다. 이 데이터 형식은 8바이트의 부호 있는 정수이며 소수 자릿수는 4이고 최대 전체 자릿수는 19입니다. |
DT_DATE |
연도, 월, 일 및 시간으로 구성된 날짜 구조입니다. DT_DATE 데이터 형식은 8바이트 부동 소수점 수를 사용하여 구현됩니다. 일은 정수 증분으로 표시되며 1899년 12월 30일부터 시작하여 자정을 0시로 표시합니다. 시간 값은 숫자에서 소수 부분의 절대값으로 표시됩니다. 그러나 부동 소수점 값은 실수 값을 모두 나타낼 수 없으므로 DT_DATE로 나타낼 수 있는 날짜 범위는 제한되어 있습니다. 반면 DT_DBTIMESTAMP는 년, 월, 일, 시, 분, 초 및 밀리초에 대한 개별 필드가 있는 구조로 표시되며, 이 데이터 형식은 나타낼 수 있는 날짜 범위에 대한 제한이 없습니다. |
DT_DBDATE |
연도, 월 및 일로 구성된 날짜 구조입니다. |
DT_DBTIME |
시간, 분 및 초로 구성된 시간 구조입니다. |
DT_DBTIMESTAMP |
연도, 월, 일, 시간, 분, 초 및 밀리초로 구성된 타임스탬프 구조입니다. |
DT_DECIMAL |
전체 자릿수 및 소수 자릿수가 고정된 정확한 숫자 값입니다. 이 데이터 형식은 별개의 부호가 포함된 12바이트의 부호 없는 정수이며 소수 자릿수는 0에서 28이고 최대 전체 자릿수는 29입니다. |
DT_FILETIME |
1601년 1월 1일부터 100 나노초 간격의 수를 나타내는 64비트 값입니다. |
DT_GUID |
GUID(Globally Unique Identifier)입니다. |
DT_I1 |
1바이트의 부호 있는 정수입니다. |
DT_I2 |
2바이트의 부호 있는 정수입니다. |
DT_I4 |
4바이트의 부호 있는 정수입니다. |
DT_I8 |
8바이트의 부호 있는 정수입니다. |
DT_NUMERIC |
고정 전체 자릿수와 소수 자릿수가 포함된 정확한 숫자 값입니다. 이 데이터 형식은 별개의 부호가 포함된 16바이트의 부호 없는 정수이며 소수 자릿수는 0에서 38이고 최대 전체 자릿수는 38입니다. |
DT_R4 |
단정밀도의 부동 소수점 값입니다. |
DT_R8 |
배정밀도의 부동 소수점 값입니다. |
DT_STR |
최대 길이가 8000자인 Null 종료 ANSI/MBCS 문자열입니다. 열 값에 추가 Null 종결자가 들어 있으면 해당 문자열은 첫 번째 Null이 나타나는 위치에서 잘립니다. |
DT_UI1 |
1바이트의 부호 없는 정수입니다. |
DT_UI2 |
2바이트의 부호 없는 정수입니다. |
DT_UI4 |
4바이트의 부호 없는 정수입니다. |
DT_UI8 |
8바이트의 부호 없는 정수입니다. |
DT_WSTR |
최대 길이가 4000자인 Null 종료 유니코드 문자열입니다. 열 값에 추가 Null 종결자가 들어 있으면 해당 문자열은 첫 번째 Null이 나타나는 위치에서 잘립니다. |
DT_IMAGE |
최대 크기가 231-1(2,147,483,647) 바이트인 이진 값입니다. . |
DT_NTEXT |
최대 길이가 230 - 1(1,073,741,823) 문자인 유니코드 문자열입니다. |
DT_TEXT |
최대 길이가 231 -1(2,147,483,647) 문자인 ANSI/MBCS 문자열입니다. |
열의 데이터 형식 변경
열의 데이터에 원본 데이터 형식으로 할당된 전체 너비가 필요하지 않은 경우 열의 데이터 형식을 변경할 수 있습니다. 각 행이 좁을수록 원본에서 대상으로 데이터를 이동하는 속도가 빨라지기 때문에 각 데이터 행을 가능한 한 좁게 만들면 데이터 전송 시 성능을 최적화할 수 있습니다.
Integration Services에는 숫자 데이터 형식이 모두 포함되어 있으므로 데이터의 크기와 적합한 데이터 형식을 찾아 볼 수 있습니다. 예를 들어 데이터 형식이 DT_UI8인 열의 값이 항상 0에서 3000 사이의 정수인 경우 데이터 형식을 DT_UI2로 변경할 수 있습니다. 마찬가지로, 데이터 형식이 DT_CY인 열에 대해 정수 데이터 형식을 대신 사용해도 패키지의 데이터 요구 사항에 문제가 없다면 해당 데이터 형식을 DT_I4로 변경할 수 있습니다.
또한 날짜/시간 데이터가 포함된 열의 데이터 형식을 변경하여 데이터의 날짜 또는 날짜의 시간 부분만 따로 추출할 수도 있습니다. 예를 들어 열의 데이터 형식을 DT_DBTIMESTAMP에서 DT_DBTIME로 변경할 경우에는 해당 값의 시간, 분 및 초 부분만 사용할 수 있습니다.
열의 데이터 형식은 다음과 같은 방식으로 변경할 수 있습니다.
- 변환을 사용하여 열 값을 식의 결과로 바꾸거나 원래 열이 아닌 다른 데이터 형식을 갖는 열의 복사본을 만듭니다. 자세한 내용은 파생 열 변환을 참조하십시오.
- 변환을 사용하여 열의 데이터 형식을 다른 데이터 형식으로 형변환합니다. 자세한 내용은 데이터 변환을 참조하십시오.
[!참고] 부울 값은 숫자가 아니라 논리 값입니다. 일부 환경에서는 부울 값이 숫자로 표시될 수 있지만 숫자로 저장되지는 않으며, 다양한 프로그래밍 언어에서는 부울 값을 .NET Framework 메서드와는 다른 숫자 값으로 표시합니다. 예를 들어 Visual Basic에서 사용할 수 있는 변환 함수는 True를 -1로 변환하지만 .NET Framework의 System.Convert.ToInt32 메서드는 True를 +1로 변환합니다. Integration Services 식 언어는 True를 -1로 변환합니다. 오류나 예기치 않은 결과를 방지하려면 True 및 False에 특정 숫자 값을 사용하는 코드를 작성하지 말아야 합니다. 가능하면 부울 변수는 부울 변수용으로 설계된 논리 값으로만 사용해야 합니다.
데이터베이스 데이터 형식에 Integration Services 데이터 형식 매핑
다음 표에서는 일부 데이터베이스에서 사용되는 데이터 형식을 Integration Services 데이터 형식에 매핑하는 데 대한 지침을 제공합니다. 이러한 매핑은 SQL Server 가져오기 및 내보내기 마법사에서 데이터 원본의 데이터를 가져올 때 사용되는 매핑 파일의 내용을 요약한 것입니다. 이러한 매핑 파일에 대한 자세한 내용은 SQL Server 가져오기 및 내보내기 마법사를 사용하여 패키지 만들기를 참조하십시오.
중요: |
---|
이러한 매핑은 엄격하게 일치해야 함을 나타내기 위한 것이 아니라 단지 지침을 제공하기 위한 것입니다. 일부 경우에는 이 표에 표시된 데이터 형식이 아닌 다른 데이터 형식을 사용해야 합니다. |
데이터 형식 | SQL Server (SQLOLEDB; SQLNCLI) | SQL Server(SqlClient) | Jet | Oracle (MSDAORA) | Oracle (OracleClient) | DB2 (DB2OLEDB) | DB2 (IBMDADB2) |
---|---|---|---|---|---|---|---|
DT_BOOL |
bit |
bit |
Bit |
||||
DT_BYTES |
binary, varbinary, timestamp |
binary, varbinary, timestamp |
BigBinary, VarBinary |
RAW |
RAW |
||
DT_CY |
smallmoney, money |
smallmoney, money |
Currency |
||||
DT_DATE |
|||||||
DT_DBDATE |
|||||||
DT_DBTIME |
|||||||
DT_DBTIMESTAMP |
datetime, smalldatetime |
datetime, smalldatetime |
DateTime |
TIMESTAMP, DATE, INTERVAL |
TIMESTAMP, DATE, INTERVAL |
TIME, TIMESTAMP, DATE |
TIME, TIMESTAMP, DATE |
DT_DECIMAL |
|||||||
DT_FILETIME |
|||||||
DT_GUID |
uniqueidentifier |
uniqueidentifier |
GUID |
||||
DT_I1 |
|||||||
DT_I2 |
smallint |
smallint |
Short |
SMALLINT |
SMALLINT |
||
DT_I4 |
int |
int |
Long |
INTEGER |
INTEGER |
||
DT_I8 |
bigint |
bigint |
BIGINT |
BIGINT |
|||
DT_NUMERIC |
decimal, numeric |
decimal, numeric |
Decimal |
NUMBER, INT |
NUMBER, INT |
DECIMAL, NUMERIC |
DECIMAL, NUMERIC |
DT_R4 |
real |
real |
Single |
REAL |
REAL |
||
DT_R8 |
float |
float |
Double |
FLOAT, REAL |
FLOAT, REAL |
FLOAT, DOUBLE |
FLOAT, DOUBLE |
DT_STR |
char, varchar |
VarChar |
CHAR, ROWID, VARCHAR2 |
CHAR, VARCHAR |
CHAR, VARCHAR |
||
DT_UI1 |
tinyint |
tinyint |
Byte |
||||
DT_UI2 |
|||||||
DT_UI4 |
|||||||
DT_UI8 |
|||||||
DT_WSTR |
nchar, nvarchar, sql_variant, xml |
char, varchar, nchar, nvarchar, sql_variant, xml |
LongText |
NVARCHAR2, NCHAR |
CHAR, ROWID, VARCHAR2, NVARCHAR2, NCHAR |
GRAPHIC, VARGRAPHIC |
GRAPHIC, VARGRAPHIC |
DT_IMAGE |
image |
image |
LongBinary |
LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, 사용자 정의 |
LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, 사용자 정의 |
CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA |
CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA, BLOB |
DT_NTEXT |
ntext |
text, ntext |
NCLOB, NVARCHAR, TEXT |
LONG, CLOB, NCLOB, NVARCHAR, TEXT |
LONG VARCHAR, NCHAR, NVARCHAR, TEXT |
LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT |
|
DT_TEXT |
text |
CLOB, LONG |
LONG VARCHAR FOR BIT DATA |
LONG VARCHAR FOR BIT DATA, CLOB |
데이터 흐름의 데이터 형식 매핑에 대한 자세한 내용은 Mapping Data Types in the Data Flow을 참조하십시오.
참고 항목
개념
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2007년 9월 15일 |
|
2006년 7월 17일 |
|
2005년 12월 5일 |
|