데이터 흐름의 데이터 형식 작업

Integration Services에서 사용자 지정 데이트 흐름 구성 요소를 개발할 때는 데이터를 데이터 흐름 버퍼에 복사하거나 데이터 흐름 버퍼에서 복사해 오고 값을 변환하는 방식으로 데이터 형식에 대한 작업을 지속적으로 수행하게 됩니다. 이 항목에서는 올바른 Integration Services 데이터 형식을 선택하고 데이터 형식에 대한 작업을 수행할 때 올바른 메서드를 사용할 수 있도록 유용한 정보를 제공합니다.

데이터 흐름에 데이터 삽입

PipelineBuffer 클래스는 버퍼 열에 데이터를 복사하기 위한 일련의 Set 메서드와 버퍼 열에서 데이터를 검색하기 위한 일련의 Get 메서드를 제공합니다. 다음 표에서는 각 Integration Services 데이터 형식에 사용할 수 있는 메서드를 보여 줍니다.

데이터 형식에 사용할 수 있는 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..::..BufferTypeToDataRecordTypePipelineComponent..::..DataRecordTypeToBufferType 메서드는 Integration Services 데이터 형식을 관리되는 데이터 형식에 매핑합니다.

주의 사항주의

개발자는 PipelineComponent 클래스의 이러한 메서드를 신중히 사용해야 하며, 사용자 지정 구성 요소의 고유한 요구 사항에 보다 적합한 데이터 형식 매핑 메서드를 직접 코딩할 수도 있습니다. 기존 메서드는 전체 자릿수 또는 소수 자릿수나 데이터 형식 자체와 밀접하게 관련된 그 밖의 속성을 고려하지 않습니다. Microsoft에서는 이후 버전의 Integration Services에서 이러한 메서드를 수정 또는 제거하거나 이러한 메서드가 수행하는 매핑을 수정할 수 있습니다.

다음 표에서는 BufferTypeToDataRecordTypeDataRecordTypeToBufferType 메서드가 다양한 Integration Services 데이터 형식을 관리되는 데이터 형식에 매핑하는 방식을 보여 줍니다.

Integration Services 데이터 형식

매핑 대상(관리되는 데이터 형식)

DT_WSTR

System.String

DT_BYTES

System.Byte의 배열

DT_DBTIMESTAMP

System.DateTime

DT_DBTIMESTAMP2

System.DateTime

DT_DBTIMESTAMPOFFSET

System.DateTimeOffset

DT_DBDATE

System.DateTime

DT_DBTIME

System.TimeSpan

DT_DBTIME2

System.TimeSpan

DT_DATE

System.DateTime

DT_FILETIME

System.DateTime

DT_NUMERIC

System.Decimal

DT_GUID

System.Guid

DT_I1

System.SByte

DT_I2

System.Int16

DT_I4

System.Int32

DT_I8

System.Int64

DT_BOOL

System.Boolean

DT_R4

System.Single

DT_R8

System.Double

DT_UI1

System.Byte

DT_UI2

System.UInt16

DT_UI4

System.UInt32

DT_UI8

System.UInt64

관리되는 데이터 형식에 맞게 Integration Services 데이터 형식 매핑

데이터 흐름 구성 요소에서는 한 Integration Services 데이터 형식을 다른 데이터 형식으로 변환한 후에만 해당 형식을 관리되는 형식으로 변환할 수 있는 경우도 종종 있습니다. PipelineComponent..::..ConvertBufferDataTypeToFitManaged 메서드 클래스에서는 Integration Services 데이터 형식을 다른 Integration Services 데이터 형식에 매핑하며 그런 다음 PipelineComponent..::..BufferTypeToDataRecordType 메서드를 사용하여 이 데이터 형식을 관리되는 데이터 형식에 매핑할 수 있습니다.

주의 사항주의

개발자는 PipelineComponent 클래스의 이러한 메서드를 신중히 사용해야 하며, 사용자 지정 구성 요소의 고유한 요구 사항에 보다 적합한 데이터 형식 매핑 메서드를 직접 코딩할 수도 있습니다. 기존 메서드는 전체 자릿수 또는 소수 자릿수나 데이터 형식 자체와 밀접하게 관련된 그 밖의 속성을 고려하지 않습니다. Microsoft에서는 이후 버전의 Integration Services에서 이러한 메서드를 수정 또는 제거하거나 이러한 메서드가 수행하는 매핑을 수정할 수 있습니다.

다음 표에서는 ConvertBufferDataTypeToFitManaged 메서드가 Integration Services 데이터 형식을 다른 Integration Services 데이터 형식에 매핑하는 방식을 보여 줍니다.

[!참고]

ConvertBufferDataTypeToFitManaged 메서드는 DT_DBTIMESTAMPOFFSET 데이터 형식에 대한 값은 반환하지 않으며 이때 UnsupportedBufferDataTypeException이 발생됩니다. 따라서 DT_DBTIMESTAMPOFFSET 데이터 형식은 관리되는 데이터 형식에 매핑할 수 있는 Integration Services 날짜/시간 데이터 형식 중 하나로 변환해야 합니다. 관리되는 데이터 형식에 매핑할 수 있는 Integration Services 날짜/시간 데이터 형식의 목록은 앞부분의 "Integration Services와 관리되는 데이터 형식 간의 매핑" 섹션에 나오는 표를 참조하십시오. 데이터 형식을 변환하는 방법은 Integration Services 데이터 형식을 참조하십시오.

Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 아티클, 예제 및 비디오와 커뮤니티의 정선된 솔루션을 보려면 MSDN 또는 TechNet의 Integration Services 페이지를 방문하십시오.

이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.