有人可以展示如何使用SSIS中的脚本任务枚举给定文件夹中的文件?使用SSIS脚本枚举文件夹中的文件任务
-4
A
回答
1
配置两个变量:只读字符串User::download_path
和读写对象User::files_to_process
接收文件列表。
public void Main()
{
bool fireAgain = true;
var filesToProcess = new System.Collections.ArrayList();
var filesInDirectory = new System.Collections.ArrayList();
var download_path = (String)Dts.Variables["User::download_path"].Value;
// Find for example all csv files in the directory which are having size > 0
var downloadedFiles = new DirectoryInfo(download_path).EnumerateFiles("*.csv",SearchOption.TopDirectoryOnly);
foreach (var f in downloadedFiles)
{
if (f.Length > 0)
filesInDirectory.Add(f.FullName);
}
Dts.Events.FireInformation(3, "Getting files in directory", downloadedFiles.Count().ToString() + " found.", "", 0, ref fireAgain);
// Report the file names into the SSIS Log:
foreach (var f in filesToProcess)
{
Dts.Events.FireInformation(3, f.ToString(), "Ready for processing", "", 0, ref fireAgain);
}
// Return them into the READWRITE object variable
Dts.Variables["User::files_to_process"].Value = filesInDirectory;
Dts.TaskResult = (int)ScriptResults.Success;
}
+0
设置如何查看? – Si8
+0
哪个设置?在SSIS中,这只是一个脚本任务。 – milivojeviCH
+0
我试图添加脚本任务,但它保持失败,所以我直接去了连接管理器的表达式,并添加了一个现在工作正常的表达式。谢谢。 – Si8
相关问题
- 1. ssis脚本任务在Sharepoint文档库中创建文件夹
- 2. SSIS脚本任务,如果在文件夹中存在或不
- 3. 将Input0Buffer写入文本文件的SSIS脚本任务组件
- 4. SSIS脚本任务从邮箱子文件夹中提取文件
- 5. 在ssis中使用c#在脚本任务中存档文件
- 6. 使用枚举查找文件夹中的所有文件
- 7. 使用MSBuild枚举文件夹
- 8. 如何使用密码在SSIS脚本任务中解压缩文件夹
- 9. FinalBuilder枚举文件和文件夹
- 10. 枚举文件和文件夹递归
- 11. 批处理文件/ Powershell - 枚举文件夹中的文件
- 12. powershell脚本太慢(文件枚举)
- 13. SSIS 2005 - 使用脚本任务导入excel文件
- 14. 使用SSIS执行脚本任务在WinSCP脚本中解压缩文件
- 15. 在SSIS脚本组件任务中读取CSV文件
- 16. SSIS验证Foreach文件枚举器
- 17. 如何使用System.IO.Directory.GetFiles递归枚举文件+文件夹
- 18. 使用Google Drive SDK V2枚举文件夹和文件
- 19. SSIS中的脚本任务For Each循环 - 写入文件
- 20. 根据标签/关键字枚举文件夹中的文件
- 21. SSIS在脚本任务中读取平面文件连接
- 22. SSIS脚本任务搜索文本(如果可用的复制文件)
- 23. SSIS文件系统任务
- 24. SSIS文件系统任务
- 25. SSIS - 存档文件任务
- 26. SSIS文件系统任务
- 27. 使用脚本任务在SSIS 2005中写入文件不起作用
- 28. SSIS Visual Basic脚本任务 - 导入额外的VB文件
- 29. SSIS如何使用Foreach ADO枚举器检索文件名
- 30. EWS:枚举文件夹,并从他们
它不是重复的 - 我想通过脚本任务来做到这一点,而不是通过枚举For循环,然后处理文件。 –
脚本任务中有一个很好的枚举用例。我们使用这种方法首先枚举文件,然后根据来自数据库的已处理文件列表检查此列表。这样我们就不需要为每个文件启动一个单独的SQL任务。节省的时间使得这是一个非常有效的请求。 – milivojeviCH