1
有沒有辦法在sql server 2008 ssis包內自動記錄傳遞給存儲過程和/或命令的參數? 我試圖從鏈接到全局OnError事件的腳本任務訪問這些信息,但它似乎不是對當前的sql命令的引用,有沒有一種通用的方法來做到這一點?或者我必須實現自定義日誌記錄每個sql命令i'im射擊?SSIS Sql參數日誌記錄
在此先感謝
有沒有辦法在sql server 2008 ssis包內自動記錄傳遞給存儲過程和/或命令的參數? 我試圖從鏈接到全局OnError事件的腳本任務訪問這些信息,但它似乎不是對當前的sql命令的引用,有沒有一種通用的方法來做到這一點?或者我必須實現自定義日誌記錄每個sql命令i'im射擊?SSIS Sql參數日誌記錄
在此先感謝
這可能是有幫助的,我有一些在我的項目之一定義Execute Process Tasks
。每個容器都有自己的一組輸入和輸出,我想要記錄,所以我的方法是添加一個OnPostExecute事件與一個腳本任務相關聯。我在那裏解僱了信息事件以記錄在該任務中發生的事情的細節。這顯然假定你已經選擇了OnInformation事件來記錄。
try
{
//User::ExecuteArgs,User::ExecuteError,User::ExecuteOutput
string args = Dts.Variables["ExecuteArgs"].Value.ToString();
string output = Dts.Variables["ExecuteOutput"].Value.ToString();
string error = Dts.Variables["ExecuteError"].Value.ToString();
bool fireAgain = false;
if (!string.IsNullOrEmpty(output))
{
Dts.Events.FireInformation(0, "Post execute output", string.Format("Output: {0}", output), string.Empty, 0, ref fireAgain);
}
if (!string.IsNullOrEmpty(error))
{
Dts.Events.FireWarning(0, "Post execute error", string.Format("Error: {0}", error), string.Empty, 0);
}
if (!string.IsNullOrEmpty(args))
{
Dts.Events.FireInformation(0, "Post execute args", string.Format("Args: {0}", args), string.Empty, 0, ref fireAgain);
}
}
catch (Exception ex)
{
this.Dts.Events.FireWarning(0, "Post package execution", string.Format("Trouble accessing variables {0}", ex.ToString()), string.Empty, 0);
}
我不知道的是關聯到'執行SQL'任務,可以自動處理這個問題,但是這並不是說有沒有捕獲此信息的機制事情。你能提供更多的信息嗎?參數的值是通過表達式分配還是通過表達式計算? – billinkc 2012-01-09 16:08:48