我正在尝试构建一个映射,该映射会将数据从一个数据库加载到另一个数据库,并使用自 source 以来创建的所有行来更新目的地 目的地中的行。
源中的查询将如下所示:
SELECT
*
FROM table
WHERE table.creation_date > [[destination max creation_date]]
根据我在Informatica Cloud社区的文档和讨论中所看到的,最好的方法是使用 Parameter 。但是从我所看到的所有来看,加载参数的唯一方法是:
是否可以从其他任何地方加载参数?除了文件以外的任何东西都很好。
在此先感谢您的写作。
答案 0 :(得分:0)
一种选择是使用LastRunTime变量。有关详细信息,请参见https://kb.informatica.com/howto/6/Pages/18/488723.aspx。
使用文件作为参数更可靠。我将使用文件目标和后处理脚本来更新每次运行时的值,并使用预处理脚本来确保在运行前正确设置该值。可能不是您要找的答案,但是我的经验是值得付出额外的努力以减少以后的生产维护。
答案 1 :(得分:0)
我在多个IICS映射中设置了此逻辑。
您需要遵循的步骤:
在映射中
在表达式中创建一个变量字段,并将其用作表达式SetMaxVariable($$v_last_load_date, creation_date)
在“源-查询选项”中添加要设置的过滤器
creation_date > $$v_last_load_date
您可以在“输入-输出参数”下的“任务”(假设您已创建任务)中查看最新值。
如果您需要更改值以进行重新加载等用途,则需要编辑任务以更改该值。