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
我创建了一个从平面文件中提取数据的映射,该文件显示了特定 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