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.
|
See Also
Reference
BufferTypeToDataRecordType(DataType)
DataRecordTypeToBufferType(Type)
ConvertBufferDataTypeToFitManaged(DataType, Boolean%)