Informatica 会话失败

Informatica Session Failing

我创建了一个从平面文件中提取数据的映射,该文件显示了特定 SSRS 报告的使用数据。该文件每天都会被前几天的使用数据覆盖。我的问题是,有时报告当天没有任何用途,我的 ETL 向我发送了一封 "Failed" 电子邮件,因为源中没有任何数据。来自 运行 如果源中没有数据或防止它失败的作业。

--谢谢

是的,有几种方法,你可以做到这一点。

当没有源数据时,您可以为 ETL 作业提供一个空文件。为此,请在 Informatica 工作流中使用像 touch <filename> 这样的会话前命令。如果 <filename> 不存在,这将创建一个空文件。工作流将 运行 成功并显示 0 行。

如果您有触发 Informatica 作业的脚本,那么您也可以像这样在那里进行检查:

if [ -e <filename> ]
then
    pmcmd ...
fi

这将跳过作业的执行。

在实际数据加载之前进行另一个会话。阅读文件,使用 FALSE 过滤器和一些虚拟目标。 Link 这一个到您已经拥有的会话并设置以下 link 条件:

$yourDummySessionName.SrcSuccessRows > 0

解决此问题的一个简单方法是创建一个仅包含平面文件源、源限定符和平面文件目标的 "Passthrough" 映射。

您将创建一个在工作流程开始时运行此映射的会话,并让它读取您的平面文件源。目标可以只是一个您不断覆盖的虚拟平面文件。然后,您将在 link 到下一个实际处理文件的会话中具有此条件:

$s_Passthrough.SrcSuccessRows > 0