从数据库查询发送带有新记录的电子邮件

时间:2018-05-29 16:42:35

标签: oracle talend

我有查询,它给我这样的ETL错误信息:

enter image description here

我创建了一个Job:tOracleinput ---> tsendMail,它将此错误日志发送到我的电子邮件。

我现在想要的是:当我一次又一次地执行Job时,它只向我发送新的错误日志。已发送的错误日志将不会再次发送。

你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一目标。

这是一个。请将此答案视为算法。

  • 在某些属性文件中创建一个名为ID_error_log = 1的变量。
  • 在ETL作业开始时从属性文件中读取此ID。
  • 在您的ETL中,当您尝试获取errorData时,请在查询中使用此ID来获取数据 select * from bla_bla_bla where id > context.ID
  • 发送有关这些错误的电子邮件。
  • 在作业结束时,将属性文件中的ID_error_log更新为您发送电子邮件的最新ID。

所以下次,随着ID的更新 - 记录不会重复。感谢。

答案 1 :(得分:0)

我从您的问题中了解到,您正试图通过邮件保留您要发送的数据。

一种可能的解决方案是将错误日志写入文件/数据库,然后从该文件/数据库中读取所有数据,并将其发送到tSendMail。