使用資料流程中的資料類型
在 Integration Services 中開發自訂資料流程元件時,您會持續處理資料類型、將資料複製到資料流程緩衝區或是從其中複製出來,以及轉換值。在本主題中的資訊可協助您選擇正確的 Integration Services 資料類型,以及正確的處理方法。
將資料插入資料流程
PipelineBuffer 類別提供一系列的 Set 方法,可將資料複製到緩衝區資料行,並提供一系列對應的 Get 方法,可從緩衝區資料行擷取資料。下表顯示每個 Integration Services 資料類型要使用哪個方法。
資料類型使用的 Set 方法
下表在第一個資料行中列出資料類型,然後列出對應的 Set 與 Get 方法。
資料類型 |
Set 方法 |
Get 方法 |
---|---|---|
沒有適用於此資料類型的 Get 方法。 |
||
與 Set 方法搭配使用的資料類型
Set 方法 |
資料類型 |
---|---|
對應資料流程中的資料類型
將資料從來源透過轉換移到目的地時,資料流程元件有時必須在定義於 DataType 列舉中的 SQL Server Integration Services 類型,以及定義於 System 命名空間的 Microsoft .NET Framework 之 Managed 資料類型之間轉換資料類型。此外,元件有時必須先將某個 Integration Services 資料類型轉換到另一個資料類型,才能將該類型轉換為 Managed 類型。
[!附註]
預設安裝在 C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles 中的 XML 格式之對應檔案,與本主題所討論的資料類型對應並不相關。這些檔案是將資料類型從某個資料庫版本或是系統對應至另一個資料庫版本或是系統 (例如,從 SQL Server 2000 對應至 SQL Server,或是從 SQL Server 對應至 Oracle),而且只能用於 SQL Server 匯入和匯出精靈。如需有關這些對應檔案的詳細資訊,請參閱<使用 SQL Server 匯入和匯出精靈移動資料>。
Integration Services 資料類型與 Managed 資料類型之間的對應
PipelineComponent..::..BufferTypeToDataRecordType 與 PipelineComponent..::..DataRecordTypeToBufferType 方法會將 Integration Services 資料類型對應到 Managed 資料類型。
注意 |
---|
開發人員應該謹慎地使用 PipelineComponent 類別的這些方法,而且可能會想要撰寫自己的資料類型對應方法程式碼,以便能更加符合其自訂元件的獨特需求。現有方法不會考慮數值有效位數或小數位數,或是與資料類型本身密切相關的其他屬性。Microsoft 可能會在 Integration Services 的未來版本中修改或移除這些方法,或是修改方法所執行的對應。 |
下表列出 BufferTypeToDataRecordType 與 DataRecordTypeToBufferType 方法如何將各種 Integration Services 資料類型對應至 Managed 資料類型。
Integration Services 資料類型 |
對應至此 Managed 資料類型 |
---|---|
System.String |
|
System.Byte 的陣列 |
|
System.DateTime |
|
System.DateTime |
|
System.DateTimeOffset |
|
System.DateTime |
|
System.TimeSpan |
|
System.TimeSpan |
|
System.DateTime |
|
System.DateTime |
|
System.Decimal |
|
System.Guid |
|
System.SByte |
|
System.Int16 |
|
System.Int32 |
|
System.Int64 |
|
System.Boolean |
|
System.Single |
|
System.Double |
|
System.Byte |
|
System.UInt16 |
|
System.UInt32 |
|
System.UInt64 |
對應 Integration Services 資料類型以符合 Managed 資料類型
有時資料流程元件必須也先將某個 Integration Services 資料類型轉換到另一個資料類型,才能將該類型轉換為 Managed 類型。PipelineComponent..::..ConvertBufferDataTypeToFitManaged 方法類別會將 Integration Services 資料類型對應至其他可以由 PipelineComponent..::..BufferTypeToDataRecordType 方法對應至 Managed 資料類型的 Integration Services 資料類型。
注意 |
---|
開發人員應該謹慎地使用 PipelineComponent 類別的這些方法,而且可能會想要撰寫自己的資料類型對應方法程式碼,以便能更加符合其自訂元件的獨特需求。現有方法不會考慮數值有效位數或小數位數,或是與資料類型本身密切相關的其他屬性。Microsoft 可能會在 Integration Services 的未來版本中修改或移除這些方法,或是修改方法所執行的對應。 |
下表列出 ConvertBufferDataTypeToFitManaged 方法如何將 Integration Services 資料類型對應至其他 Integration Services 資料類型。
原始的 Integration Services 資料類型 |
對應至此 Integration Services 資料類型 |
---|---|
[!附註]
ConvertBufferDataTypeToFitManaged 方法不會傳回 DT_DBTIMESTAMPOFFSET 資料類型的值,而且會發生 UnsupportedBufferDataTypeException。您必須將 DT_DBTIMESTAMPOFFSET 資料類型轉換為其中一個可以對應至 Managed 資料類型的 Integration Services 日期/時間資料類型。如需可以對應至 Managed 資料類型的 Integration Services 日期/時間資料類型清單,請參閱上一節「Integration Services 資料類型與 Managed 資料類型之間的對應>中的表格。如需有關轉換資料類型的詳細資訊,請參閱<Integration Services 資料類型>。
|