我在 SSIS 包编写方面有点新意,我在我的 SSIS 包中嵌套了循环,一个循环将所有文件夹循环到一个位置,内部循环循环遍历每个文件夹中的所有文件。
在文件夹级别循环中,我的第一个任务是脚本任务,其中我将所有文件路径提取到一个对象变量中,其中包级别范围为字符串数组,如下所示。
string targetDirectory = Convert.ToString(Dts.Variables["SourceFolderLocation"].Value);
string[] fileEntries = Directory.GetFiles(targetDirectory, "*.pdf");
Dts.Variables["FileList"].Value = fileEntries;
Dts.Variables["FileList"].Value 是我的具有包级范围的对象变量。
现在我的要求是文件夹级循环的脚本任务,首先重置该对象变量,然后将新文件列表设置到该对象变量中,就好像我访问文件夹时遇到任何异常,它不应该处理以前的文件夹的文件。
我的问题是如何在脚本任务 c# 代码中重置对象变量?所以它不会再次处理以前的文件夹的文件,而且我也没有得到 enumerator should not contain null value 错误。
任何帮助将不胜感激。