繼承的交易
封裝可使用「執行封裝」工作執行另一個封裝。子封裝 (亦即「執行封裝」工作所執行的封裝) 可建立其自己的封裝交易,也可以繼承父封裝交易。
如果下列兩個情況都成立,子封裝可以繼承父封裝的交易:
子封裝是由父封裝內的「執行封裝」工作所叫用。
叫用子封裝的「執行封裝」工作也會聯結父封裝的交易。
除非子封裝自行聯結交易,否則子封裝中的容器和工作無法聯結從父封裝繼承而來的交易。
在下圖中,有三個使用交易的封裝。每一個封裝都包含多個工作。為強調交易的行為,只會顯示「執行封裝」工作。封裝 A 執行封裝 B 和 C。而封裝 B 又執行封裝 D 和 E,封裝 C 執行封裝 F。
封裝和工作具有下列交易屬性:
在封裝 A 和 C 上,TransactionOption 屬性設為 Required。
在封裝 B、D 和 F 上,以及在「執行封裝 B」、「執行封裝 D」和「執行封裝 F」工作上,TransactionOption 屬性設為 Supported。
在封裝 E 上,以及在「執行封裝 C」和「執行封裝 E」工作上,TransactionOption 屬性設為 NotSupported。
.gif)
只有子封裝 B、D 和 F 可以從其父封裝繼承交易,因為這些封裝將其 TransactionOption 屬性設定為 Supported。封裝 B 和 D 會繼承由封裝 A 啟動的交易,而封裝 F 會繼承由封裝 C 啟動的交易。
封裝 A 和 C 會控制它們自己的交易,因為這些封裝將其 TransactionOption 屬性設定為 Required。因此,封裝 C 無法繼承由封裝 A 啟動的交易,因為「執行封裝 C」工作的 TransactionOption 屬性設定為 NotSupported。
封裝 E 不使用交易。
|
掌握 Integration Services 的最新狀態