Udostępnij za pośrednictwem


Praca z typami danych w przepływ danych

Podczas tworzenia niestandardowego składnik przepływ danych integracja Services umożliwia pracę stale z typami danych, kopiowanie danych do i z buforów przepływ danych i przekształcanie wartości.Informacje na ten temat pomoże Ci wybrać odpowiedniego Integration Services typy danych i do używania poprawnej metody podczas pracy z nimi.

Wstawianie danych do przepływ danych

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.W poniższych tabelach przedstawiono metoda z każdym z nich Integration Services Typ danych.

Metody zestaw do korzystania z typami danych

W poniższej tabela wyświetlany jest typ danych w pierwszej kolumnie, a następnie wyświetla odpowiednie Set i Get metody.

Typ danych

Ustawianie metoda

Uzyskiwanie, metoda

DT_BOOL()

SetBoolean(Int32, Boolean)

GetBoolean(Int32)

DT_BYTES()

SetBytes(Int32, array<Byte[])

GetBytes(Int32)

DT_CY()

SetDecimal(Int32, Decimal)

GetDecimal(Int32)

DT_DATE()

SetDateTime(Int32, DateTime)

GetDateTime(Int32)

DT_DBDATE()

SetDate(Int32, DateTime)

GetDate(Int32)

DT_DBTIME()

SetTime(Int32, TimeSpan)

GetTime(Int32)

DT_DBTIME2()

SetTime(Int32, TimeSpan)

GetTime(Int32)

DT_DBTIMESTAMP()

SetDateTime(Int32, DateTime)

GetDateTime(Int32)

DT_DBTIMESTAMP2()

SetDateTime(Int32, DateTime)

GetDateTime(Int32)

DT_DBTIMESTAMPOFFSET()

SetDateTimeOffset(Int32, DateTimeOffset)

GetDateTimeOffset(Int32)

DT_DECIMAL()

SetDecimal(Int32, Decimal)

GetDecimal(Int32)

DT_FILETIME()

SetDateTime(Int32, DateTime)

GetDateTime(Int32)

DT_GUID()

SetGuid(Int32, Guid)

GetGuid(Int32)

DT_I1()

SetSByte(Int32, SByte)

GetSByte(Int32)

DT_I2()

SetInt16(Int32, Int16)

GetInt16(Int32)

DT_I4()

SetInt32(Int32, Int32)

GetInt32(Int32)

DT_I8()

SetInt64(Int32, Int64)

GetInt64(Int32)

DT_IMAGE()

AddBlobData(Int32, array<Byte[]) lub AddBlobData(Int32, array<Byte[], Int32)

GetBlobData(Int32, Int32, Int32)

DT_NTEXT()

AddBlobData(Int32, array<Byte[]) lub AddBlobData(Int32, array<Byte[], Int32)

GetBlobData(Int32, Int32, Int32)

DT_NULL()

SetNull(Int32)

Brak nie Get Metoda, która ma zastosowanie do tego typu danych.

DT_NUMERIC()

SetDecimal(Int32, Decimal)

GetDecimal(Int32)

DT_R4()

SetSingle(Int32, Single)

GetSingle(Int32)

DT_R8()

SetDouble(Int32, Double)

GetDouble(Int32)

DT_STR()

SetString(Int32, String)

GetString(Int32)

DT_TEXT()

AddBlobData(Int32, array<Byte[]) lub AddBlobData(Int32, array<Byte[], Int32)

GetBlobData(Int32, Int32, Int32)

DT_UI1()

SetByte(Int32, Byte)

GetByte(Int32)

DT_UI2()

SetUInt16(Int32, UInt16)

GetUInt16(Int32)

DT_UI4()

SetUInt32(Int32, UInt32)

GetUInt32(Int32)

DT_UI8()

SetUInt64(Int32, UInt64)

GetUInt64(Int32)

DT_WSTR()

SetString(Int32, String)

GetString(Int32)

Typy danych, aby korzystanie z metody zestaw

Ustawianie metoda

Typ danych

AddBlobData(Int32, array<Byte[]) lub AddBlobData(Int32, array<Byte[], Int32)

DT_IMAGE(), DT_NTEXT() lub DT_TEXT()

SetBoolean(Int32, Boolean)

DT_BOOL()

SetByte(Int32, Byte)

DT_UI1()

SetBytes(Int32, array<Byte[])

DT_BYTES()

SetDate(Int32, DateTime)

DT_DBDATE()

SetDateTime(Int32, DateTime)

DT_DATE(), DT_DBTIMESTAMP(), DT_DBTIMESTAMP2(), lub DT_FILETIME()

SetDateTimeOffset(Int32, DateTimeOffset)

DT_DBTIMESTAMPOFFSET()

SetDecimal(Int32, Decimal)

DT_CY(), DT_DECIMAL() lub DT_NUMERIC()

SetDouble(Int32, Double)

DT_R8()

SetGuid(Int32, Guid)

DT_GUID()

SetInt16(Int32, Int16)

DT_I2()

SetInt32(Int32, Int32)

DT_I4()

SetInt64(Int32, Int64)

DT_I8()

SetNull(Int32)

DT_NULL()

SetSByte(Int32, SByte)

DT_I1()

SetSingle(Int32, Single)

DT_R4()

SetString(Int32, String)

DT_STR() lub DT_WSTR()

SetTime(Int32, TimeSpan)

DT_DBTIME() lub DT_DBTIME2()

SetUInt16(Int32, UInt16)

DT_UI2()

SetUInt32(Int32, UInt32)

DT_UI4()

SetUInt64(Int32, UInt64)

DT_UI8()

Mapowanie typów danych dla przepływ danych

While moving data from sources through transformations to destinations, a data flow component must sometimes convert data types between the SQL Server Integration Services types defined in the DataType enumeration and the managed data types of the Microsoft .NET Framework defined in the System namespace.Ponadto składnik czasami Przekonwertuj jedną Integration Services na inny typ danych, przed tego typu można przekonwertować na typ zarządzanych.

Uwaga

Pliki mapowania w formacie XML, które są instalowane domyślnie do katalogu C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles nie są związane z mapowania typów danych, omówione w tym temacie.Te pliki mapowania typów danych z wersja jednej bazy danych lub systemu do innego (na przykład z SQL Server 2000 Aby SQL Server, albo z SQL Server do bazy danych Oracle) i są używane tylko przez SQL Server Kreator eksportu i importu. Aby uzyskać więcej informacji na temat tych plików mapowania zobacz Importing and Exporting Data by Using the SQL Server Import and Export Wizard.

Mapowanie między integracja Services i typy danych zarządzanych

The PipelineComponentBufferTypeToDataRecordType(DataType) and the PipelineComponentDataRecordTypeToBufferType(Type) methods map Integration Services data types to managed data types.

Ostrzeżenie

Deweloperzy powinni używać tych metod PipelineComponent Klasa ostrożnie, i może się z typem danych kodu mapowania swoich własnych metod, które są bardziej dostosowane do szczególnych potrzeb ich niestandardowych składników. The existing methods do not consider numeric precision or scale, or other properties closely related to the data type itself.Microsoft may modify or remove these methods, or modify the mappings that they perform, in a future version of Integration Services.

Następujące tabela list jak BufferTypeToDataRecordType(DataType) oraz DataRecordTypeToBufferType(Type) metod mapowania różnych Integration Services typy danych do zarządzania typami danych.

Typ danych usług integracja

Mapy i ten typ danych zarządzanych

DT_WSTR()

System.ciąg

DT_BYTES()

Tablica 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()

Wartość

DT_R4()

System.Single

DT_R8()

System.Double

DT_UI1()

System.Byte

DT_UI2()

System.UInt16

DT_UI4()

System.UInt32

DT_UI8()

System.UInt64

Mapowanie typów danych usług integracja dopasowanie zarządzane typy danych

Czasami składnik przepływ danych należy także przekonwertować jednego Integration Services na inny typ danych, przed tego typu można przekonwertować na typ zarządzanych. The PipelineComponentConvertBufferDataTypeToFitManaged(DataType, Boolean%) metoda class maps Integration Services data types to other Integration Services data types that can then be mapped to managed data types by using the PipelineComponentBufferTypeToDataRecordType(DataType) metoda.

Ostrzeżenie

Deweloperzy powinni używać tych metod PipelineComponent Klasa ostrożnie, i może się z typem danych kodu mapowania swoich własnych metod, które są bardziej dostosowane do szczególnych potrzeb ich niestandardowych składników. The existing methods do not consider numeric precision or scale, or other properties closely related to the data type itself.Microsoft may modify or remove these methods, or modify the mappings that they perform, in a future version of Integration Services.

Następujące tabela list jak ConvertBufferDataTypeToFitManaged(DataType, Boolean%) Metoda mapy Integration Services typy danych do innej Integration Services typy danych.

Oryginalny typ danych usług integracja

Mapy i ten typ danych usług integracja

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()

Uwaga

The ConvertBufferDataTypeToFitManaged(DataType, Boolean%) metoda does not return a value for the DT_DBTIMESTAMPOFFSET data type, and a UnsupportedBufferDataTypeException occurs. Należy dokonać konwersji typu danych DT_DBczasSTAMPOFFSET jednego z Integration Services Data / czas typów danych, które mogą być mapowane do typu danych zarządzanych. Aby uzyskać listę Integration ServicesData / czas typów danych, które mogą być mapowane na typy danych zarządzanych, zobacz tabelę w poprzedniej sekcji „ mapowania między zarządzana typy danych i usług integracja Services. „ Aby uzyskać informacje na temat konwersji typów danych zobacz Typy danych usług integracja.

Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.

See Also

Reference

BufferTypeToDataRecordType(DataType)

DataRecordTypeToBufferType(Type)

ConvertBufferDataTypeToFitManaged(DataType, Boolean%)

Other Resources