我想从SSIS检查特定文件夹中是否存在文件。我该如何实现?
我希望能够从SSIS检索指定文件夹中的文件是否存在。该如何实现?
我希望能够从SSIS检索指定文件夹中的文件是否存在。该如何实现?
变量:
folder - 字符串 - C::\Temp\
file - 字符串 - 1.txt
fileExists - 布尔值 - False
public void Main()
{
string folder = Dts.Variables["User::folder"].Value.ToString(); //@"C:\temp\";
string file = Dts.Variables["User::file"].Value.ToString(); //"a.txt";
string fullPath = string.Format(@"{0}\{1}", folder, file);
Dts.Variables["User::fileExists"].Value = File.Exists(fullPath);
Dts.TaskResult = (int)ScriptResults.Success;
}
ForEach Loop Container
并将所有项目放入其中。如果文件存在,它将被执行;如果不存在,则不会执行。非常简单 :)Dts.TaskResult
。以下代码片段在文件不存在时使脚本任务失败。(如果启用了日志记录,则还会创建日志条目。)public void Main()
{
string fileName = Dts.Variables["User::sourcePath"].Value.ToString() + Dts.Variables["User::fileName"].Value.ToString();
if (File.Exists(fileName))
{
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
Dts.Log(string.Format("File {0} was not found.",fileName),0,null);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
在SSIS中没有可以执行此检查的本地任务,但是您可以使用Script任务来完成此操作,但我建议您检查以下链接以了解实现此操作所需的简单步骤。
http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis