SSIS错误记录(数据流组件派生列)

时间:2009-12-21 03:19:26

标签: ssis

检查列(在DerivedColum组件中)的最佳方法是NULL。 如果NULL =>记录错误 否则继续数据流。

此致

2 个答案:

答案 0 :(得分:1)

这可能会对你有所帮助。

将派生列控件转换为condional split control。要仅流动非空值,请创建条件

!(ISNULL(COLUMN_NAME))

然后将条件拆分连接回标准流程。这将根据您的要求传递正确的实例。

我无法弄清楚的是记录此错误。也许尝试创建第二个条件:

(ISNULL(COLUMN_NAME))

然后流入某些数据流任务,这将导致错误被引发,但不是很优雅。或者您可以尝试流入另一个派生列,该列使用行中的值来形成某个日志文件的输出。

答案 1 :(得分:1)

派生列转换之前或之后放置条件拆分转换,以删除包含NULL的行。

  1. 创建一个值为Dummy的{​​{1}}变量。
  2. 在派生列中使用-1
  3. 之类的内容
  4. 出错时将错误输出配置为ISNULL(myCol) ? (DT_I4)SQRT(@[User::Dummy]) : myCol
  5. 将错误输出连接到平面文件目的地。
  6. 注意:

    • 步骤2中的SQRT(-1)引发错误。
    • 确保第2步中的type-cast符合redirect row类型;我使用了myCol