【问题标题】:How to add a incrementing number sequence to informatica target flat file everytime its created如何在每次创建时向 informatica 目标平面文件添加递增的数字序列
【发布时间】:2020-12-23 16:19:48
【问题描述】:

我一直在努力寻找解决方案,但我没有运气。我是 informatica 的新手,我在 informatica 中创建了一个带有目标平面文件的映射。我的目标平面文件名是Startup_YYMMDD_XXX.csvxxx 表示每次创建文件时的序列号。例如,如果我第一次运行映射,它应该是 001,第二次应该是 002,依此类推。有人可以帮帮我吗?
谢谢你

【问题讨论】:

    标签: informatica informatica-powercenter


    【解决方案1】:

    创建一个持久的工作流变量,并在它运行时在映射中增加它。将值存储回存储库。使用它在目标中使用 FileName 端口命名文件

    【讨论】:

    【解决方案2】:

    您也可以使用 stg 文件或数据库表来存储最后一次 run_id,然后每次运行将其增加 1。这里有更多详细信息 -

    1. 在目标定义中,添加一个 FileName 端口。
    2. 查找 stg 文件/DB 表以获取最新的 run_id。使用任何虚拟列作为查找条件。确保此数据类型为 NUMBER。
    3. 接下来使用 run_id+1 生成下一个 run_id。创建一个输出端口以使用 run_id-
      out_FileName = 'Startup_'|| TO_CHAR(SYSDATE,'YYMMDD')||'_'|| LPAD(IIF(ISNULL(latest_run_id),0,latest_run_id) +1,3,'0')||'.csv' 生成名称
    4. 将 out_FileName 端口上方链接到目标中的目标文件名并生成目标。
    5. 将 latest_run_id+1 存储在同一个 stg 文件中。

    但大多数 ETL 系统通过一些工具来跟踪此运行 ID。您也可以使用这些工具生成的 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多