【发布时间】:2016-10-03 15:20:56
【问题描述】:
我在一个工作流中有 3 个任务:
- 任务 1:清理表
- 任务 2:将平面文件加载到该表中
- 任务 3:将操作记录为已完成
我在任务 2 中添加了一个新列,当我在此任务运行时查看数据库时,我看到新列已填充。
问题出在任务 3 运行时,它会清除我的新列,使其为空。 到底是怎么回事?以及如何解决?
我的同事向我提议重新创建任务 3,我做到了,并且它在某些工作流程中运行良好。但是对于另一个工作流程,这个“肮脏”的修复不再起作用了。
任务 3 中没有逻辑应该进行这种“清理”。
关于 Informatica 内部,我缺少什么?
另外,提一下,如果我禁用任务 3,列将保持填充良好的值。
编辑:(在被询问更多详细信息后)任务属于会话类型。任务 2 只是将数据从平面文件移动到表中(它还调用了一些 PLSQL 包来计算一些字段,然后将它们填充到最终表目标中)。任务 3 将数据从标题移动到日志表,调用一些 PLSQL 包来做与任务 2 类似的事情,然后再调用一些 PLSQL(这最后一步不会触及来自任务 2 的数据本身,这个东西会被奇怪地清理掉)
【问题讨论】:
-
需要更多关于任务 3 内容的详细信息吗?它是会话任务还是命令任务?你在里面运行任何脚本吗?
-
@Samik 用一些额外的细节更新了 Q
-
任务 3 中必须有一些逻辑覆盖任务 2 中加载的数据。检查任务 3 映射中的目标实例,如果它有新列。