问题描述
源文件列每次都在不断变化,因此目标表中的数据变得混乱。我想通过在 informatica 云中创建一些程序来避免这个问题,它将检查传入源文件的列顺序和列名称与现有(正确)源文件。 如果列匹配,则只有它应该继续将数据插入目标。否则它应该失败的工作。 提前致谢
解决方法
您有两种选择。
选项 1 - 使用 UNIX head -1 dailyfile > file1
和 head -1 modelfile > file2
。然后比较file1和file2。如果两者相同,那么它是一个很好的文件,否则用 0 字节文件替换 dailyfile 并通知支持团队(或做任何您想做的事情)。
选项 2 - 有点棘手。
创建两个管道 - 一个用于模型文件,一个用于 Dailyfile。
附加一个 exp 转换并添加序列 gen(始终从 1 开始)。
然后放一个过滤器,取nextval =1.
然后比较过滤结果 - 如果它们相同,则生成标志 ='Pass' 否则为 'NoPass'。加入 SQ_dailyfile 和这个输出 - 加入条件将在这个标志上
柱子。如果 'Pass'='Pass',它将产生其他 0 行的行。您也可以在 flag = 'NoPass' 时调用 ABORT()
。
整个映射应该如下图所示。