整合服務容器
容器是 SQL Server Integration Services 中的物件,可提供結構給封裝,並提供服務給工作。它們支援封裝中的重複控制流程,且會將工作和容器分組成有意義的工作單位。除了工作外,容器還可包含其他容器。
封裝會將容器用於下列用途:
針對集合中的每個元素重複工作,例如資料夾中的檔案、結構描述或 SQL Server 管理物件 (SMO) 的物件。例如,封裝可執行位於多個檔案中的 Transact-SQL 陳述式。
重複工作直到指定運算式評估結果為 false 為止。例如,封裝可傳送不同的電子郵件訊息七次,一週中的每一天各一次。
將必須當做一個單位同時成功或失敗的工作和容器予以分組。例如,封裝可將刪除或加入資料庫資料表中資料列的工作予以分組,然後在一個工作失敗時認可或回復所有工作。
容器類型
Integration Services 提供四種用於建立封裝的容器類型。下表列出這些容器類型。
容器 |
描述 |
---|---|
使用列舉值重複執行控制流程。 |
|
藉由測試條件重複執行控制流程。 |
|
將工作和容器分組成控制流程,這些控制流程是封裝控制流程的子集。 |
|
提供服務給單一工作。 |
封裝和事件處理常式也是容器的類型。如需詳細資訊,請參閱<Integration Services 封裝>和<Integration Services 事件處理常式>。
容器屬性摘要
所有容器類型都有通用的屬性集。如果您使用 Integration Services 提供的圖形工具建立封裝,[屬性] 視窗會列出下列「Foreach 迴圈」、「For 迴圈」以及「時序」容器的屬性。工作主機容器屬性會做為設定該工作主機封裝之工作的一部分來設定。在您設定工作時,可同時設定「工作主機」屬性。
屬性 |
描述 |
---|---|
DelayValidation |
布林值,指出是否延遲至執行階段才驗證容器。此屬性的預設值是 False。 如需詳細資訊,請參閱<DelayValidation>。 |
Description |
容器描述。該屬性包含字串,但可能空白。 如需詳細資訊,請參閱<Description>。 |
Disable |
布林值,指出容器是否執行。此屬性的預設值是 False。 如需詳細資訊,請參閱<Disable>。 |
DisableEventHandlers |
布林值,指出與該容器關聯的事件處理常式是否執行。此屬性的預設值是 False。 |
FailPackageOnFailure |
布林值,指定如果容器中發生錯誤,封裝是否失敗。此屬性的預設值是 False。 如需詳細資訊,請參閱<FailPackageOnFailure>。 |
FailParentOnFailure |
布林值,指定如果容器中發生錯誤,父容器是否失敗。此屬性的預設值是 False。 如需詳細資訊,請參閱<FailParentOnFailure>。 |
ForcedExecutionValue |
如果 ForceExecutionValue 設定為 True,則是包含容器之選擇性執行值的物件。此屬性的預設值為 0。 如需詳細資訊,請參閱<ForcedExecutionValue>。 |
ForcedExecutionValueType |
ForcedExecutionValue 的資料類型。此屬性的預設值為 Int32。 |
ForceExecutionResult |
指定執行封裝或容器之強制結果的值。可能的值為 None、Success、Failure 和 Completion。此屬性的預設值是 None。 如需詳細資訊,請參閱<ForceExecutionResult>。 |
ForceExecutionValue |
布林值,指定是否應該強制執行容器的選擇性執行值以包含特定值。此屬性的預設值是 False。 如需詳細資訊,請參閱<ForceExecutionValue>。 |
ID |
在建立封裝時所指派的容器 GUID。此屬性是唯讀的。 ID. |
IsolationLevel |
容器交易的隔離等級。可能的值為 Unspecified、Chaos、ReadUncommitted、ReadCommitted、RepeatableRead、Serializable 和 Snapshot。此屬性的預設值是 Serializable。如需詳細資訊,請參閱<IsolationLevel>。 |
LocaleID |
Microsoft Win32 地區設定。此屬性的預設值為本機電腦作業系統的地區設定。 如需詳細資訊,請參閱<LocaleID>。 |
LoggingMode |
指定容器記錄行為的值。可能的值為 Disabled、Enabled 和 UseParentSetting。此屬性的預設值是 UseParentSetting。如需詳細資訊,請參閱<DTSLoggingMode>。 |
MaximumErrorCount |
在容器停止執行之前,可發生的最大錯誤次數。這個屬性的預設值為 1。 如需詳細資訊,請參閱<MaximumErrorCount>。 |
Name |
容器的名稱。 如需詳細資訊,請參閱<Name>。 |
TransactionOption |
容器的交易式參與。可能的值為 NotSupported、Supported、Required。此屬性的預設值是 Supported。如需詳細資訊,請參閱<DTSTransactionOption>。 |
若要了解有關在以程式設計方式設定「Foreach 迴圈」、「For 迴圈」、「時序」及「工作主機」容器時,這些項目可用的所有屬性,請參閱下列 Integration Services API 主題:
T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop
T:Microsoft.SqlServer.Dts.Runtime.ForLoop
T:Microsoft.SqlServer.Dts.Runtime.Sequence
T:Microsoft.SqlServer.Dts.Runtime.TaskHost
延伸容器功能的物件
容器包括由可執行檔和優先順序條件約束所組成的控制流程,並可使用事件處理常式和變數。工作主機容器則是例外:由於工作主機容器會封裝單一工作,因此不會使用優先順序條件約束。
可執行檔
可執行檔指的是容器層級工作,以及容器內的任何容器。可執行檔可以是 Integration Services 所提供的其中一個工作和容器,也可以是自訂工作。如需詳細資訊,請參閱<Integration Services 工作>和<整合服務容器>。
優先順序條件約束
優先順序條件約束可將相同父容器中的工作,連結成已排序的控制流程。如需詳細資訊,請參閱<優先順序條件約束>。
事件處理常式
容器層級的事件處理常式,可回應由容器或其中所含物件所引發的事件。如需詳細資訊,請參閱<Integration Services 事件處理常式>。
變數
容器中所用的變數包括 Integration Services 提供的容器層級系統變數,以及容器使用的使用者自訂變數。如需詳細資訊,請參閱<Integration Services 變數>。
|