使用資料流程中的資料類型
在 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 的受管理資料類型之間轉換資料類型。 此外,元件偶爾也必須先將某個 Integration Services 資料類型轉換成其他資料類型,才可將該類型轉換為 Managed 類型。
[!附註]
預設安裝在 C:\Program Files\Microsoft SQL Server\110\DTS\MappingFiles 中的 XML 格式之對應檔案,與本主題所討論的資料類型對應並不相關。 這些檔案會將資料類型從某個資料庫版本或系統,對應到其他資料庫版本或系統 (例如,從 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 資料類型>。
|
請參閱
參考
ConvertBufferDataTypeToFitManaged