데이터 흐름의 데이터 형식 작업Working with Data Types in the Data Flow

Integration Services에서 사용자 지정 데이트 흐름 구성 요소를 개발할 때는 데이터를 데이터 흐름 버퍼에 복사하거나 데이터 흐름 버퍼에서 복사해 오고 값을 변환하는 방식으로 데이터 형식에 대한 작업을 지속적으로 수행하게 됩니다.When developing a custom data flow component in Integration Services, you work constantly with data types, copying data into and out of data flow buffers and transforming values. 이 항목에서는 올바른 Integration ServicesIntegration Services 데이터 형식을 선택하고 데이터 형식에 대한 작업을 수행할 때 올바른 메서드를 사용할 수 있도록 유용한 정보를 제공합니다.The information in this topic helps you to choose the correct Integration ServicesIntegration Services data types, and to use the correct methods when working with them.

데이터 흐름에 데이터 삽입Inserting Data into the Data Flow

PipelineBuffer 클래스 제공 하는 일련의 설정 를 버퍼 열과 해당 일련의으로 데이터를 복사 하기 위한 메서드 가져오기 버퍼 열에서 데이터를 검색 하기 위한 방법입니다.The PipelineBuffer class provides a series of Set methods for copying data into buffer columns, and a corresponding series of Get methods for retrieving data from buffer columns. 다음 표에서 각 사용 방법을 보여 줍니다. Integration ServicesIntegration Services 데이터 형식입니다.The following tables show you which method to use with each Integration ServicesIntegration Services data type.

데이터 형식에 사용할 수 있는 Set 메서드Set Methods to use with Data Types

다음 표에서 첫 번째 열의 데이터 형식을 나열 하 고 그런 다음 해당 나열 설정가져오기 메서드.The following table lists the data type in the first column, and then lists the corresponding Set and Get methods.

데이터 형식Data Type Set 메서드Set Method Get 메서드Get Method
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또는AddBlobDataAddBlobData or AddBlobData GetBlobData
DT_NTEXT AddBlobData또는AddBlobDataAddBlobData or AddBlobData GetBlobData
DT_NULL SetNull 없는 가져오기 이 데이터 형식에 적용 되는 메서드.There is no Get method that is applicable to this data type.
DT_NUMERIC SetDecimal GetDecimal
DT_R4 SetSingle GetSingle
DT_R8 SetDouble GetDouble
DT_STR SetString GetString
DT_TEXT AddBlobData또는AddBlobDataAddBlobData or AddBlobData GetBlobData
DT_UI1 SetByte GetByte
DT_UI2 SetUInt16 GetUInt16
DT_UI4 SetUInt32 GetUInt32
DT_UI8 SetUInt64 GetUInt64
DT_WSTR SetString GetString

Set 메서드와 함께 사용할 수 있는 데이터 형식Data Types to Use with the Set Methods

Set 메서드Set Method 데이터 형식Data Type
AddBlobData또는AddBlobDataAddBlobData or AddBlobData DT_IMAGE, DT_NTEXT 또는 DT_TEXTDT_IMAGE, DT_NTEXT, or DT_TEXT
SetBoolean DT_BOOL
SetByte DT_UI1
SetBytes DT_BYTES
SetDate DT_DBDATE
SetDateTime DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 또는 DT_FILETIMEDT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, or DT_FILETIME
SetDateTimeOffset DT_DBTIMESTAMPOFFSET
SetDecimal DT_CY, DT_DECIMAL 또는 DT_NUMERICDT_CY, DT_DECIMAL, or 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_WSTRDT_STR or DT_WSTR
SetTime DT_DBTIME또는DT_DBTIME2DT_DBTIME or DT_DBTIME2
SetUInt16 DT_UI2
SetUInt32 DT_UI4
SetUInt64 DT_UI8

데이터 흐름에서 데이터 형식 매핑Mapping Data Types in the Data Flow

데이터 원본에서 변환 거쳐 대상으로 이동 하는 동안 데이터 흐름 구성 요소 간에 데이터 형식을 변환 경우가 해야는 SQL ServerSQL Server Integration ServicesIntegration Services 에 정의 된 형식을 DataType 의 관리 되는 데이터 형식과 열거형은 MicrosoftMicrosoft .NET Framework.NET Framework 에 정의 된는 시스템 네임 스페이스입니다.While moving data from sources through transformations to destinations, a data flow component must sometimes convert data types between the SQL ServerSQL Server Integration ServicesIntegration Services types defined in the DataType enumeration and the managed data types of the MicrosoftMicrosoft .NET Framework.NET Framework defined in the System namespace. 또한 구성 요소에서는 하나의 Integration ServicesIntegration Services 데이터 형식을 다른 형식으로 변환한 후에만 관리되는 형식으로 변환할 수 있는 경우가 종종 있습니다.In addition, a component must sometimes convert one Integration ServicesIntegration Services data type to another before that type can be converted to a managed type.

참고

기본적으로 C:\Program Files\Microsoft SQL Server\130\DTS\MappingFiles를 설치 하는 XML 형식의 매핑 파일은이 항목에서 설명 하는 데이터 형식 매핑과 관련이 없습니다.The mapping files in XML format that are installed by default to C:\Program Files\Microsoft SQL Server\130\DTS\MappingFiles are not related to the data type mapping discussed in this topic. 이러한 파일은 예를 들어 SQL ServerSQL Server의 데이터 형식을 Oracle의 데이터 형식에 매핑하는 경우와 같이 한 데이터베이스 버전 또는 시스템의 데이터 형식을 다른 데이터 형식에 매핑하며, SQL ServerSQL Server 가져오기 및 내보내기 마법사에서만 사용됩니다.These files map data types from one database version or system to another (for example, from SQL ServerSQL Server to Oracle), and are used only by the SQL ServerSQL Server Import and Export Wizard. 이러한 매핑 파일에 대 한 자세한 내용은 참조 하십시오. SQL Server 가져오기 및 내보내기 마법사합니다.For more information on these mapping files, see SQL Server Import and Export Wizard.

Integration Services와 관리되는 데이터 형식 간의 매핑Mapping between Integration Services and Managed Data Types

BufferTypeToDataRecordTypeDataRecordTypeToBufferType 메서드는 Integration ServicesIntegration Services 데이터 형식을 관리되는 데이터 형식에 매핑합니다.The BufferTypeToDataRecordType and the DataRecordTypeToBufferType methods map Integration ServicesIntegration Services data types to managed data types.

주의

개발자는 PipelineComponent 클래스의 이러한 메서드를 신중히 사용해야 하며, 사용자 지정 구성 요소의 고유한 요구 사항에 보다 적합한 데이터 형식 매핑 메서드를 직접 코딩할 수도 있습니다.Developers should use these methods of the PipelineComponent class with caution, and may want to code data type mapping methods of their own that are more suited to the unique needs of their custom components. 기존 메서드는 전체 자릿수 또는 소수 자릿수나 데이터 형식 자체와 밀접하게 관련된 그 밖의 속성을 고려하지 않습니다.The existing methods do not consider numeric precision or scale, or other properties closely related to the data type itself. MicrosoftMicrosoft에서는 이후 버전의 Integration ServicesIntegration Services에서 이러한 메서드를 수정 또는 제거하거나 이러한 메서드가 수행하는 매핑을 수정할 수 있습니다. may modify or remove these methods, or modify the mappings that they perform, in a future version of Integration ServicesIntegration Services.

다음 표에서는 BufferTypeToDataRecordTypeDataRecordTypeToBufferType 메서드가 다양한 Integration ServicesIntegration Services 데이터 형식을 관리되는 데이터 형식에 매핑하는 방식을 보여 줍니다.The following table lists how the BufferTypeToDataRecordType and the DataRecordTypeToBufferType methods map various Integration ServicesIntegration Services data types to managed data types.

Integration Services 데이터 형식Integration Services Data Type 매핑 대상(관리되는 데이터 형식)Maps to this Managed Data Type
DT_WSTR System.StringSystem.String
DT_BYTES System.Byte의 배열Array of System.Byte
DT_DBTIMESTAMP System.DateTimeSystem.DateTime
DT_DBTIMESTAMP2 System.DateTimeSystem.DateTime
DT_DBTIMESTAMPOFFSET System.DateTimeOffsetSystem.DateTimeOffset
DT_DBDATE System.DateTimeSystem.DateTime
DT_DBTIME System.TimeSpanSystem.TimeSpan
DT_DBTIME2 System.TimeSpanSystem.TimeSpan
DT_DATE System.DateTimeSystem.DateTime
DT_FILETIME System.DateTimeSystem.DateTime
DT_NUMERIC System.DecimalSystem.Decimal
DT_GUID System.GuidSystem.Guid
DT_I1 System.SByteSystem.SByte
DT_I2 System.Int16System.Int16
DT_I4 System.Int32System.Int32
DT_I8 System.Int64System.Int64
DT_BOOL System.BooleanSystem.Boolean
DT_R4 System.SingleSystem.Single
DT_R8 System.DoubleSystem.Double
DT_UI1 System.ByteSystem.Byte
DT_UI2 System.UInt16System.UInt16
DT_UI4 System.UInt32System.UInt32
DT_UI8 System.UInt64System.UInt64

관리되는 데이터 형식에 맞게 Integration Services 데이터 형식 매핑Mapping Integration Services Data Types to Fit Managed Data Types

데이터 흐름 구성 요소에서는 한 Integration ServicesIntegration Services 데이터 형식을 다른 데이터 형식으로 변환한 후에만 해당 형식을 관리되는 형식으로 변환할 수 있는 경우도 종종 있습니다.Sometimes a data flow component must also convert one Integration ServicesIntegration Services data type to another before that type can be converted to a managed type. ConvertBufferDataTypeToFitManaged 메서드 클래스 지도 Integration ServicesIntegration Services 데이터 형식을 다른 Integration ServicesIntegration Services 를 사용 하 여 관리 되는 데이터 형식에 매핑할 수 있습니다는 데이터 형식에서 BufferTypeToDataRecordType 메서드.The ConvertBufferDataTypeToFitManaged method class maps Integration ServicesIntegration Services data types to other Integration ServicesIntegration Services data types that can then be mapped to managed data types by using the BufferTypeToDataRecordType method.

주의

개발자는 PipelineComponent 클래스의 이러한 메서드를 신중히 사용해야 하며, 사용자 지정 구성 요소의 고유한 요구 사항에 보다 적합한 데이터 형식 매핑 메서드를 직접 코딩할 수도 있습니다.Developers should use these methods of the PipelineComponent class with caution, and may want to code data type mapping methods of their own that are more suited to the unique needs of their custom components. 기존 메서드는 전체 자릿수 또는 소수 자릿수나 데이터 형식 자체와 밀접하게 관련된 그 밖의 속성을 고려하지 않습니다.The existing methods do not consider numeric precision or scale, or other properties closely related to the data type itself. MicrosoftMicrosoft에서는 이후 버전의 Integration ServicesIntegration Services에서 이러한 메서드를 수정 또는 제거하거나 이러한 메서드가 수행하는 매핑을 수정할 수 있습니다. may modify or remove these methods, or modify the mappings that they perform, in a future version of Integration ServicesIntegration Services.

다음 표에서는 ConvertBufferDataTypeToFitManaged 메서드가 Integration ServicesIntegration Services 데이터 형식을 다른 Integration ServicesIntegration Services 데이터 형식에 매핑하는 방식을 보여 줍니다.The following table lists how the ConvertBufferDataTypeToFitManaged method maps Integration ServicesIntegration Services data types to other Integration ServicesIntegration Services data types.

원본 Integration Services 데이터 형식Original Integration Services Data Type 매핑 대상(Integration Services 데이터 형식)Maps to this Integration Services Data Type
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이 발생됩니다.The ConvertBufferDataTypeToFitManaged method does not return a value for the DT_DBTIMESTAMPOFFSET data type, and a UnsupportedBufferDataTypeException occurs. 따라서 DT_DBTIMESTAMPOFFSET 데이터 형식은 관리되는 데이터 형식에 매핑할 수 있는 Integration ServicesIntegration Services 날짜/시간 데이터 형식 중 하나로 변환해야 합니다.You must convert the DT_DBTIMESTAMPOFFSET data type to one of the Integration ServicesIntegration Services date/time data types that can be mapped to a managed data type. 관리되는 데이터 형식에 매핑할 수 있는 Integration ServicesIntegration Services 날짜/시간 데이터 형식의 목록은 앞부분의 "Integration Services와 관리되는 데이터 형식 간의 매핑" 섹션에 나오는 표를 참조하십시오.For a list of Integration ServicesIntegration Services date/time data types that can be mapped to a managed data types, see the table in the previous section, "Mapping between Integration Services and Managed Data Types." 데이터 형식으로 변환 하는 방법에 대 한 정보를 참조 하십시오. Integration Services Data Types합니다.For information about converting data types, see Integration Services Data Types.

참고 항목See Also

BufferTypeToDataRecordTypeBufferTypeToDataRecordType
DataRecordTypeToBufferTypeDataRecordTypeToBufferType
ConvertBufferDataTypeToFitManagedConvertBufferDataTypeToFitManaged
Integration Services 데이터 형식Integration Services Data Types