簡體   English   中英

如何從SSIS中的腳本任務重置對象變量?

[英]How to reset object variable from script task in SSIS?

我在SSIS包寫中安靜了一點,我在SSIS包中嵌套循環,一個循環所有文件夾到一個位置,內循環循環遍歷每個文件夾中的所有文件。

在文件夾級循環中,我的第一個任務是腳本任務,其中我將所有文件路徑提取到一個對象變量中,包級別作為字符串數組,如下所示。

string targetDirectory = Convert.ToString(Dts.Variables["SourceFolderLocation"].Value);
string[] fileEntries = Directory.GetFiles(targetDirectory, "*.pdf");
Dts.Variables["FileList"].Value = fileEntries;

Dts.Variables [“FileList”]。值是具有包級別范圍的對象變量。

現在我的要求是在文件夾級循環的腳本任務中,首先重置該對象變量,然后將新文件列表設置為該對象變量,就好像我得到訪問文件夾的任何異常它不應該處理以前文件夾的文件。

我的問題是如何在腳本任務c#代碼中重置對象變量? 所以它不會再次處理上一個文件夾的文件,而且我也沒有得到枚舉器不應該包含空值錯誤。

任何幫助將不勝感激。

如果我理解正確,你應該能夠在調用GetFiles來“重置”它之前將它設置為一個新的string[]

string[] fileEntries = new string[] {};
try {
    string targetDirectory = Convert.ToString(Dts.Variables["SourceFolderLocation"].Value);
    fileEntries = Directory.GetFiles(targetDirectory, "*.pdf");
    Dts.Variables["FileList"].Value = fileEntries;
}
catch (Exeception e) { 
    // handle exception
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM