我创建了一个映射,从平面文件中提取数据,显示特定SSRS报告的使用数据。该文件每天都会被前几天的使用数据覆盖。我的问题是,有时报告当天没有任何用法,我的ETL向我发送“失败”电子邮件,因为源中没有任何数据。如果源中没有数据或阻止其失败,则运行该作业。
- 由于
答案 0 :(得分:0)
是的,有几种方法,你可以这样做。
当没有源数据时,您可以向ETL作业提供空文件。为此,请在Informatica工作流程中使用touch <filename>
之类的会前命令。如果不存在,这将创建一个<filename>
的空文件。工作流将成功运行0行。
如果您有一个触发Informatica作业的脚本,那么您可以在那里进行检查:
if [ -e <filename> ]
then
pmcmd ...
fi
这将跳过执行的作业。
答案 1 :(得分:0)
在实际dataload之前再进行一次会话。读取文件,使用FALSE过滤器和一些虚拟目标。将此链接链接到您已有的会话并设置以下链接条件:
$yourDummySessionName.SrcSuccessRows > 0
答案 2 :(得分:0)
解决这个问题的一个简单方法是创建一个&#34; Passthrough&#34;映射仅包含平面文件源,源限定符和平面文件目标。
您将在工作流程的开头创建一个运行此映射的会话,并让它读取您的平面文件源。目标可以只是一个你会被覆盖的虚拟平面文件。然后,您将在下一个实际处理文件的会话的链接中具有此条件:
$s_Passthrough.SrcSuccessRows > 0