共用方式為


系統變數

SQL Server Integration Services 提供一組系統變數,可儲存執行中封裝及其對象的相關信息。 這些變數可用於表示式和屬性表達式,以自定義封裝、容器、工作和事件處理程式。

系統和使用者定義的所有變數都可以用於執行 SQL 任務中用來將變數對應至參數的參數綁定。

套件的系統變數

下表描述 Integration Services 針對封裝所提供的系統變數。

系統變數 數據類型 說明
CancelEvent Int32 這個 Windows 事件物件的句柄,可用於發出信號以指示工作應停止執行。
ContainerStartTime 日期時間 容器的開始時間。
CreationDate 日期時間 建立封裝的日期。
CreatorComputerName 繩子 建立封裝的電腦。
CreatorName 繩子 建置套件的人員名稱。
ExecutionInstanceGUID 繩子 執行封裝實例的唯一標識符。
FailedConfigurations 繩子 失敗的封裝組態名稱。
IgnoreConfigurationsOnLoad 布爾邏輯 指出載入封裝時是否忽略封裝組態。
InteractiveMode 布爾邏輯 指出封裝是否以互動式模式執行。 如果封裝在 SSIS 設計工具中執行, 這個屬性會設定為 True。 如果使用 DTExec 命令提示字元公用程式執行封裝,屬性會設定為 False
LocaleId Int32 套件使用的地區設定。
MachineName 繩子 執行封裝的計算機名稱。
OfflineMode 布爾邏輯 指出封裝是否處於離線模式。 離線模式不會取得數據源的連接。
PackageID 繩子 封裝的唯一標識碼。
PackageName 繩子 套件的名稱。
StartTime 日期時間 封裝開始執行的時間。
ServerExecutionID Int64 在 Integration Services 伺服器上執行的封裝執行標識碼。

預設值為零。 只有在 Integration Services Server 上的 ISServerExec 執行封裝時,才會變更此值。 當有子封裝時,值會從父封裝傳遞至子封裝。
UserName 繩子 啟動封裝之用戶的帳戶。 用戶名稱由網域名稱限定。
VersionBuild Int32 封裝版本。
VersionComment 繩子 套件版本的評論。
VersionGUID 繩子 版本的唯一標識碼。
VersionMajor Int32 封裝的主要版本。
VersionMinor Int32 封裝的次要版本。

容器的系統變數

下表描述 Integration Services 針對 For 迴圈、Foreach 循環和時序容器所提供的系統變數。

系統變數 數據類型 說明 容器
LocaleId Int32 容器所使用的地區設定。 For 迴圈容器

Foreach 迴圈容器

序列容器

工作系統變數

下表描述 Integration Services 針對工作所提供的系統變數。

系統變數 數據類型 說明
CreationName 繩子 工作的名稱。
LocaleId Int32 工作使用的地區設定。
TaskID 繩子 工作實例的唯一標識碼。
TaskName 繩子 工作實例的名稱。
TaskTransactionOption Int32 工作所使用的交易選項。

事件處理程式的系統變數

下表描述 Integration Services 針對事件處理程式所提供的系統變數。 並非所有變數都可供所有事件處理程式使用。

系統變數 數據類型 說明 事件處理程式
取消 布爾邏輯 指出當發生錯誤、警告或查詢取消時,事件處理程式是否停止執行。 OnError 事件處理程式

OnWarning 事件處理程式

OnQueryCancel 事件處理程式
ErrorCode Int32 錯誤標識碼。 OnError 事件處理程式

OnInformation 事件處理程式

OnWarning 事件處理程式
ErrorDescription 繩子 錯誤的描述。 OnError 事件處理程式

OnInformation 事件處理程式

OnWarning 事件處理程式
ExecutionStatus 布爾邏輯 目前的執行狀態。 OnExecStatusChanged 事件處理程式
ExecutionValue DBNull 執行值。 OnTaskFailed 事件處理程式
LocaleId Int32 事件處理程式使用的地區設定。 所有事件處理程式
完成百分比 Int32 已完成工時百分比。 OnProgress 事件處理程式
ProgressCountHigh Int32 64 位值的高部分,表示 OnProgress 事件所處理的作業總數。 OnProgress 事件處理程式
ProgressCountLow Int32 64 位值的低部分,表示 OnProgress 事件所處理的作業總數。 OnProgress 事件處理程式
ProgressDescription 繩子 進度的描述。 OnProgress 事件處理程式
Propagate 布爾邏輯 指出事件是否傳播至較高層級的事件處理程式。

注意:在封裝驗證期間會忽略變數的值 Propagate

如果您在子封裝中將 設定 PropagateFalse ,這不會防止事件傳播至父封裝。
所有事件處理程式
SourceDescription 繩子 引發事件的事件處理程式中可執行檔的描述。 所有事件處理程式
SourceID 繩子 引發事件的事件處理程式中可執行檔的唯一標識符。 所有事件處理程式
SourceName 繩子 引發事件的事件處理程式中可執行檔的名稱。 所有事件處理程式
VariableDescription 繩子 變數描述。 OnVariableValueChanged 事件處理程式
VariableID 繩子 變數的唯一標識碼。 OnVariableValueChanged 事件處理程式

參數係結中的系統變數

執行封裝時,在數據表中儲存系統變數的值通常很有用。 例如,一個封裝動態建立數據表,並在數據表的欄位中寫入建立該數據表之封裝執行實例的 GUID。

如果您使用系統變數對應至執行 SQL 工作所使用的 SQL 語句中的參數,請務必將每個參數系結的數據類型設定為系統變數的數據類型。 否則,系統變數的值可能會轉譯不正確。 例如,如果 ExecutionInstanceGUID 系統變數具有字串數據類型,而且包含代表執行中封裝實例之 GUID 的字串,則會在具有 GUID 數據類型的參數係結中使用,封裝實例的 GUID 將會不正確地轉譯。

此規則也適用於使用者定義的變數。 但是,雖然系統變數的數據類型無法變更,而且您必須量身打造使用這些變數來符合數據類型,但用戶定義更具彈性。 參數係結中使用的使用者定義變數通常會使用與所對應參數數據類型相容的數據類型來定義。

將查詢參數對應至執行 SQL 工作中變數