2013-12-13 29 views
0

我正在開發一個SSIS 2012包。在foreachfile循環中,有一個變量「User :: Filename」,這是一個相當標準的變量。在循環內的後續步驟中,我將文件移動到歸檔目錄。然後,我想重命名它。我將「Destination」屬性映射到格式爲「」+「YYYYMMDDHHMMSS」+ @ [User :: Filename]的新名稱。引用一個變量

當我在設計時點擊「評估表達式」,當然它工作,除了文件名爲空,所以不顯示。 我也設置「延遲驗證」爲true。

當我運行包時,它失敗了,因爲它無法找到源文件或目標文件(Source設置方式相同...... + @ [User :: Filename]。)在錯誤消息中,它在設計時點擊「評估表達式」時顯示的字符串完全相同。

爲什麼不顯示文件名?

+0

你知道變量在失敗點的內容嗎? – Metaphor

+0

不知道如何找出... –

回答

0

使用此代碼將腳本任務放入循環容器中。

public void Main() 
{ 
     bool success = false; 
     string fName = Dts.Variables["User::Filename"].Value.ToString(); 
     Dts.Events.FireInformation(1, "File Loop", fName, "", 0, ref success); 

     Dts.TaskResult = (int)ScriptResults.Success; 
} 

然後在輸出窗口中查看打印的列表。