다음을 통해 공유


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

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

데이터 흐름에 데이터 삽입

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

데이터 형식에 사용할 수 있는 Set 메서드

다음 표의 첫 번째 열에는 데이터 형식이 나열되고 나머지 열에는 해당하는 Set 및 Get 메서드가 나열되어 있습니다.

데이터 형식

Set 메서드

Get 메서드

DT_BOOL

SetBoolean

GetBoolean

DT_BYTES

SetBytes

GetBytes

DT_CY

SetDecimal

GetDecimal

DT_DATE

SetDateTime

GetDateTime

DT_DBDATE

SetDate

GetDate

DT_DBTIME

SetTime

GetTime

DT_DBTIME2

SetTime

GetTime

DT_DBTIMESTAMP

SetDateTime

GetDateTime

DT_DBTIMESTAMP2

SetDateTime

GetDateTime

DT_DBTIMESTAMPOFFSET

SetDateTimeOffset

GetDateTimeOffset

DT_DECIMAL

SetDecimal

GetDecimal

DT_FILETIME

SetDateTime

GetDateTime

DT_GUID

SetGuid

GetGuid

DT_I1

SetSByte

GetSByte

DT_I2

SetInt16

GetInt16

DT_I4

SetInt32

GetInt32

DT_I8

SetInt64

GetInt64

DT_IMAGE

AddBlobData 또는 AddBlobData

GetBlobData

DT_NTEXT

AddBlobData 또는 AddBlobData

GetBlobData

DT_NULL

SetNull

이 데이터 형식에 적용할 수 있는 Get 메서드는 없습니다.

DT_NUMERIC

SetDecimal

GetDecimal

DT_R4

SetSingle

GetSingle

DT_R8

SetDouble

GetDouble

DT_STR

SetString

GetString

DT_TEXT

AddBlobData 또는 AddBlobData

GetBlobData

DT_UI1

SetByte

GetByte

DT_UI2

SetUInt16

GetUInt16

DT_UI4

SetUInt32

GetUInt32

DT_UI8

SetUInt64

GetUInt64

DT_WSTR

SetString

GetString

Set 메서드와 함께 사용할 수 있는 데이터 형식

Set 메서드

데이터 형식

AddBlobData 또는 AddBlobData

DT_IMAGE, DT_NTEXT 또는 DT_TEXT

SetBoolean

DT_BOOL

SetByte

DT_UI1

SetBytes

DT_BYTES

SetDate

DT_DBDATE

SetDateTime

DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 또는 DT_FILETIME

SetDateTimeOffset

DT_DBTIMESTAMPOFFSET

SetDecimal

DT_CY, DT_DECIMAL 또는 DT_NUMERIC

SetDouble

DT_R8

SetGuid

DT_GUID

SetInt16

DT_I2

SetInt32

DT_I4

SetInt64

DT_I8

SetNull

DT_NULL

SetSByte

DT_I1

SetSingle

DT_R4

SetString

DT_STR 또는 DT_WSTR

SetTime

DT_DBTIME 또는 DT_DBTIME2

SetUInt16

DT_UI2

SetUInt32

DT_UI4

SetUInt64

DT_UI8

데이터 흐름에서 데이터 형식 매핑

데이터를 원본에서 변환을 거쳐 대상으로 이동하는 동안 데이터 흐름 구성 요소에서는 DataType 열거형에 정의된 SQL Server Integration Services 형식과 System 네임스페이스에 정의된 Microsoft .NET Framework의 관리되는 데이터 형식 간에 데이터 형식을 변환해야 하는 경우가 종종 있습니다. 또한 구성 요소에서는 하나의 Integration Services 데이터 형식을 다른 형식으로 변환한 후에만 관리되는 형식으로 변환할 수 있는 경우가 종종 있습니다.

[!참고]

기본적으로 C:\Program Files\Microsoft SQL Server\110\DTS\MappingFiles에 설치되는 XML 형식의 매핑 파일은 이 항목에서 설명하는 데이터 형식 매핑과는 관련이 없습니다. 이러한 파일은 예를 들어 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 데이터 형식에 매핑하는 방식을 보여 줍니다.

원본 Integration Services 데이터 형식

매핑 대상(Integration Services 데이터 형식)

DT_DECIMAL

DT_NUMERIC

DT_CY

DT_NUMERIC

DT_DATE

DT_DBTIMESTAMP

DT_DBDATE

DT_DBTIMESTAMP

DT_FILETIME

DT_DBTIMESTAMP

DT_DBTIMESTAMP2

DT_DBTIMESTAMP

DT_DBTIME

DT_DBTIME2

DT_BOOL

DT_I4

DT_TEXT

DT_WSTR

DT_NTEXT

DT_WSTR

DT_STR

DT_WSTR

DT_IMAGE

DT_BYTES

[!참고]

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

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

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


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

참고 항목

참조

BufferTypeToDataRecordType

DataRecordTypeToBufferType

ConvertBufferDataTypeToFitManaged

개념

Integration Services 데이터 형식