【问题标题】:Using user variable in condition split SSIS在条件拆分 SSIS 中使用用户变量
【发布时间】:2015-12-04 14:20:01
【问题描述】:

我正在使用 DFT 从 DB 中提取 ErrorInd 为 1 的记录。我希望将错误记录放在一个平面文件中,如果没有错误,我不想创建任何文件。

为此,首先我创建了一个变量@RecordCount,并且在 DFT 之前使用 Execute Sql Task 分配了这个变量,然后在 DFT 中创建了 oledb 源并使用查询来提取记录。有一次,我正在使用条件拆分。在条件拆分中,我给出了一个类似@RecordCount > 0 的条件,然后将 case1 映射到平面文件目标。

不知何故,这个案例不起作用,即使变量 @RecordCount 为 0,平面文件也会生成,我不想这样做。

我的理解是,无论是什么情况,条件都有效,但会生成平面文件?我该如何处理?有什么解决办法吗?

PS:平面文件是动态生成的

【问题讨论】:

    标签: sql-server-2008 ssis ssis-2012 ssis-2008 msbi


    【解决方案1】:

    我会添加一个表达式来设置数据流上的禁用属性,例如

    @[User::RecordCount] == 0

    我将删除条件拆分转换 - 一旦数据流开始,避免创建输出平面文件为时已晚。

    【讨论】:

    • 这可能不是禁用 DFT 的正确方法,因为它在 for 循环中。无论如何,我正在脚本任务中处理这种情况,方法是读取文件,如果为空,则从文件夹中删除。感谢您的回复
    猜你喜欢
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多