【问题标题】:SSIS Delete files from folder based on a selection from SQL DatabaseSSIS 根据 SQL 数据库中的选择从文件夹中删除文件
【发布时间】:2021-05-17 15:06:02
【问题描述】:

我有一个关于根据选择删除文件的问题。 所以,我有一个 SQL 表,其中有一列带有文件名。 我要做的是从那里获取文件名并从指定路径中删除具有该名称的物理文件。

我尝试的是执行一个 sql 任务,选择需要删除的完整文件路径(包括文件名)并将它们存储在对象变量中,然后尝试使用“来自”执行 ForEach 循环容器变量枚举器'来获取这些结果并使用文件系统任务删除文件,但我认为这不是正确的方法。 包的执行以成功结束,但它在 ForEach 循环容器处结束,没有到达(执行)文件系统任务,因此文件没有被删除。

Select 语句(还添加了文件的完整路径作为一列,以便文件系统任务知道物理文件的存储位置):

select file_full_path from t1
where flag = 'YES'

你们知道解决办法吗?

【问题讨论】:

    标签: ssis selection delete-file


    【解决方案1】:

    您可以做的是将循环设置为 Foreach ADO Enumerator ,因此您的流程将是:

    1:SQL 任务 - 将 file_full_path 映射到对象变量,例如“filesdel”

    2:Foreach 循环设置为 Foreach ADO 枚举器

    3: 将 for 循环项映射到字符串变量,例如“文件名”:

    4:在文件系统任务中使用字符串变量

    【讨论】:

    • 你这个美人!这个解决方案就像一个魅力。谢谢你。希望它也对其他人有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    相关资源
    最近更新 更多