我要检查,看是否有文件从SSIS一个特定的文件夹存在。我怎样才能做到这一点?SSIS脚本任务,如果在文件夹中存在或不
回答
有内部SSIS没有原生的任务,可以做这种检查,但你可以使用这个脚本任务完成,但我建议你检查,以达到所需的简单步骤如下链接。
http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis
变量:
文件夹 - 字符串 - Visual C :: \ TEMP \
文件 - 字符串 - 1.txt的
FILEEXISTS - 布尔 - 假
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;
}
我尝试了上面的答案,但在我们的环境中运行ssis时出现了错误。目标调用引发了异常。 – user2756589
请确保将这些变量传递给脚本;文件夹和文件为ReadOnly,fileExists为ReadWrite –
作为替代具有“走出去”的变量,你也可以更改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;
}
}
您可以使用Foreach Loop Container
,只是所有的物品放到它。它将在文件存在时执行,如果不存在则执行。非常简单:)
非常好!我正在寻找一些简单易用的工具,并且工作正常。 – Vladimir
- 1. ssis脚本任务在Sharepoint文档库中创建文件夹
- 2. 在ssis中使用c#在脚本任务中存档文件
- 3. 当文件不存在时SSIS脚本任务不分支
- 4. 使用SSIS脚本枚举文件夹中的文件任务
- 5. SSIS脚本任务结果
- 6. 如何使用密码在SSIS脚本任务中解压缩文件夹
- 7. SSIS文件存在检查没有脚本任务
- 8. SSIS脚本任务不DTS.TaskResult
- 9. SSIS脚本任务
- 10. 在SSIS脚本组件任务中读取CSV文件
- 11. SSIS:如何浏览脚本组件或任务中的代码?
- 12. SSIS脚本任务从邮箱子文件夹中提取文件
- 13. SSIS在脚本任务中读取平面文件连接
- 14. 如何从脚本任务打开存储在SSIS包的Miscellaneous文件夹下的文件?
- 15. 删除行开始在CSV文件在SSIS Controlflow脚本任务
- 16. SSIS - 存档文件任务
- 17. SSIS-SMTP或脚本任务配置文件
- 18. SSIS脚本任务搜索文本(如果可用的复制文件)
- 19. 使用SSIS执行脚本任务在WinSCP脚本中解压缩文件
- 20. 返回输出Paramters或变量在SSIS脚本任务/脚本组件
- 21. 部署之后SQL Server不允许在SSIS脚本中创建文件夹/文件任务
- 22. 将Input0Buffer写入文本文件的SSIS脚本任务组件
- 23. SSIS的脚本任务
- 24. SSIS脚本任务错误
- 25. SSIS脚本任务问题
- 26. SSIS脚本任务获取文件名并存储到SSIS对象变量
- 27. 使用脚本任务在SSIS 2005中写入文件不起作用
- 28. 在苹果脚本中设置文件夹和子文件夹
- 29. PowerShell脚本发现如果一个文件夹存在
- 30. SSIS:如何在脚本任务中使用数据流任务中的数据?
你可以用它作为你的出发点。 http://stackoverflow.com/questions/7385251/how-to-check-if-a-file-exists-in-a-folder –
我使用下面的代码 Dts.Variables( “FILEEXISTS”)。价值= File.Exists(Dts.Variables(“FileLocation”)。值) 其中FILEEXISTS是布尔变量,“FileLocation”与文件路径 字符串变量虽然文件存在于文件夹中,它仍然是给假值。 – user1429135
只是好奇,如果下面给出的解决方案对你有用,如果你能解决你的问题。您的反馈意见对我以及将来遇到类似问题的访问者都会有所帮助。谢谢。 –