데이터 흐름의 데이터 형식 작업
Integration Services에서 사용자 지정 데이트 흐름 구성 요소를 개발할 때는 데이터를 데이터 흐름 버퍼에 복사하거나 데이터 흐름 버퍼에서 복사해 오고 값을 변환하는 방식으로 데이터 형식에 대한 작업을 지속적으로 수행하게 됩니다. 이 항목에서는 올바른 Integration Services 데이터 형식을 선택하고 데이터 형식에 대한 작업을 수행할 때 올바른 메서드를 사용할 수 있도록 유용한 정보를 제공합니다.
데이터 흐름에 데이터 삽입
PipelineBuffer 클래스는 버퍼 열에 데이터를 복사하기 위한 일련의 Set 메서드와 버퍼 열에서 데이터를 검색하기 위한 일련의 Get 메서드를 제공합니다. 다음 표에서는 각 Integration Services 데이터 형식에 사용할 수 있는 메서드를 보여 줍니다.
데이터 형식에 사용할 수 있는 Set 메서드
다음 표의 첫 번째 열에는 데이터 형식이 나열되고 나머지 열에는 해당하는 Set 및 Get 메서드가 나열되어 있습니다.
데이터 형식 |
Set 메서드 |
Get 메서드 |
---|---|---|
이 데이터 형식에 적용할 수 있는 Get 메서드는 없습니다. |
||
Set 메서드와 함께 사용할 수 있는 데이터 형식
Set 메서드 |
데이터 형식 |
---|---|
데이터 흐름에서 데이터 형식 매핑
데이터를 원본에서 변환을 거쳐 대상으로 이동하는 동안 데이터 흐름 구성 요소에서는 DataType 열거형에 정의된 SQL Server Integration Services 형식과 System 네임스페이스에 정의된 Microsoft .NET Framework의 관리되는 데이터 형식 간에 데이터 형식을 변환해야 하는 경우가 종종 있습니다. 또한 구성 요소에서는 하나의 Integration Services 데이터 형식을 다른 형식으로 변환한 후에만 관리되는 형식으로 변환할 수 있는 경우가 종종 있습니다.
[!참고]
기본적으로 C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles에 설치되는 XML 형식의 매핑 파일은 이 항목에서 설명하는 데이터 형식 매핑과는 관련이 없습니다. 이러한 파일은 예를 들어 SQL Server 2000의 데이터 형식을 SQL Server의 데이터 형식에 매핑하거나 SQL Server의 데이터 형식을 Oracle의 데이터 형식에 매핑하는 경우와 같이 한 데이터베이스 버전 또는 시스템의 데이터 형식을 다른 데이터 형식에 매핑하며, SQL Server 가져오기 및 내보내기 마법사에서만 사용됩니다. 이러한 매핑 파일에 대한 자세한 내용은 SQL Server 가져오기 및 내보내기 마법사를 사용하여 데이터 이동를 참조하십시오.
Integration Services와 관리되는 데이터 형식 간의 매핑
PipelineComponent..::..BufferTypeToDataRecordType 및 PipelineComponent..::..DataRecordTypeToBufferType 메서드는 Integration Services 데이터 형식을 관리되는 데이터 형식에 매핑합니다.
주의 |
---|
개발자는 PipelineComponent 클래스의 이러한 메서드를 신중히 사용해야 하며, 사용자 지정 구성 요소의 고유한 요구 사항에 보다 적합한 데이터 형식 매핑 메서드를 직접 코딩할 수도 있습니다. 기존 메서드는 전체 자릿수 또는 소수 자릿수나 데이터 형식 자체와 밀접하게 관련된 그 밖의 속성을 고려하지 않습니다. Microsoft에서는 이후 버전의 Integration Services에서 이러한 메서드를 수정 또는 제거하거나 이러한 메서드가 수행하는 매핑을 수정할 수 있습니다. |
다음 표에서는 BufferTypeToDataRecordType 및 DataRecordTypeToBufferType 메서드가 다양한 Integration Services 데이터 형식을 관리되는 데이터 형식에 매핑하는 방식을 보여 줍니다.
Integration Services 데이터 형식 |
매핑 대상(관리되는 데이터 형식) |
---|---|
System.String |
|
System.Byte의 배열 |
|
System.DateTime |
|
System.DateTime |
|
System.DateTimeOffset |
|
System.DateTime |
|
System.TimeSpan |
|
System.TimeSpan |
|
System.DateTime |
|
System.DateTime |
|
System.Decimal |
|
System.Guid |
|
System.SByte |
|
System.Int16 |
|
System.Int32 |
|
System.Int64 |
|
System.Boolean |
|
System.Single |
|
System.Double |
|
System.Byte |
|
System.UInt16 |
|
System.UInt32 |
|
System.UInt64 |
관리되는 데이터 형식에 맞게 Integration Services 데이터 형식 매핑
데이터 흐름 구성 요소에서는 한 Integration Services 데이터 형식을 다른 데이터 형식으로 변환한 후에만 해당 형식을 관리되는 형식으로 변환할 수 있는 경우도 종종 있습니다. PipelineComponent..::..ConvertBufferDataTypeToFitManaged 메서드 클래스에서는 Integration Services 데이터 형식을 다른 Integration Services 데이터 형식에 매핑하며 그런 다음 PipelineComponent..::..BufferTypeToDataRecordType 메서드를 사용하여 이 데이터 형식을 관리되는 데이터 형식에 매핑할 수 있습니다.
주의 |
---|
개발자는 PipelineComponent 클래스의 이러한 메서드를 신중히 사용해야 하며, 사용자 지정 구성 요소의 고유한 요구 사항에 보다 적합한 데이터 형식 매핑 메서드를 직접 코딩할 수도 있습니다. 기존 메서드는 전체 자릿수 또는 소수 자릿수나 데이터 형식 자체와 밀접하게 관련된 그 밖의 속성을 고려하지 않습니다. Microsoft에서는 이후 버전의 Integration Services에서 이러한 메서드를 수정 또는 제거하거나 이러한 메서드가 수행하는 매핑을 수정할 수 있습니다. |
다음 표에서는 ConvertBufferDataTypeToFitManaged 메서드가 Integration Services 데이터 형식을 다른 Integration Services 데이터 형식에 매핑하는 방식을 보여 줍니다.
원본 Integration Services 데이터 형식 |
매핑 대상(Integration Services 데이터 형식) |
---|---|
[!참고]
ConvertBufferDataTypeToFitManaged 메서드는 DT_DBTIMESTAMPOFFSET 데이터 형식에 대한 값은 반환하지 않으며 이때 UnsupportedBufferDataTypeException이 발생됩니다. 따라서 DT_DBTIMESTAMPOFFSET 데이터 형식은 관리되는 데이터 형식에 매핑할 수 있는 Integration Services 날짜/시간 데이터 형식 중 하나로 변환해야 합니다. 관리되는 데이터 형식에 매핑할 수 있는 Integration Services 날짜/시간 데이터 형식의 목록은 앞부분의 "Integration Services와 관리되는 데이터 형식 간의 매핑" 섹션에 나오는 표를 참조하십시오. 데이터 형식을 변환하는 방법은 Integration Services 데이터 형식을 참조하십시오.
|