如何在 Informatica 中动态创建目标文件

How to create Target Files Dynamically in Informatica

如何动态创建目标文件,如果 Deptno=10 然后创建目标文件 DEPT10.txt,如果 Deptno=20 然后创建目标文件 DEPT20.txt,如果 Deptno=30 然后创建目标文件作为 DEPT30.txt

您可以在 Informatica 中按照以下步骤实现此目的。

  1. 在目标 'Add FileName column to this table' 中添加一个名为 out_file_name 的列。
  2. 按部门 ID 排序的用户排序器。
  3. 然后使用表达式转换。在表达式转换中创建以下端口并分配表达式。这里v_*是变量端口,o_是输出端口。
v_curr_dept_id= dept_id
v_flag  = IIF(v_curr_dept_id=v_prev_dept_id,0,1)
v_prev_dept_id  = dept_id
o_flag = v_flag
o_file_name = dept_id||'.txt'
  1. 现在使用事务控制来创建不同的文件。 IIF(o_flag = 1, TC_COMMIT_BEFORE, TC_CONTINUE_TRANSACTION)
  2. Link o_file_name 到第 1 步中的第 out_file_name 列。 Link 相应的其他列。
    整个映射应该是这样的 -
SQ.... SRT > EXP > TXN >TGT