使用 Pentaho 将 SQL 查询结果集发送到电子邮件 ID
Send SQL query Result set to an email ID using Pentaho
我是 PDI
的新手,我正在尝试执行以下操作:
SELECT table_names FROM schema.table_details WHERE last_run_date < current_date
table_details
有关于不同架构中的所有表及其最后 运行 时间的信息。我想知道哪些表格今天没有更新,并将表格列表作为主题或电子邮件正文发送(我更希望它们作为主题或正文而不是文件)。
如何使用 PDI
执行此操作?
我试过使用 Set variables
,但它只能容纳一行。
您可以逐步使用分组,使用 'Concatenete string separated by' 选项,值为 ${line.separator},这样您将有一行,包含完整的字符串。有了这个,您可以设置为变量并将 JOB 邮件步骤用作正文。
我以一种简单的方式实现了这一点,而不是为所有 table 发送电子邮件,我为所有 table 发送一封包含每日状态的电子邮件。
您可以通过两种方式执行相同的操作
方法一
在 table 输入步骤中使用您的查询
将跃点连接到 excel 输出,您可以在其中获得文件状态
然后您可以使用电子邮件步骤通过电子邮件发送与附件相同的文件。 (您想获取电子邮件内容中的信息,您可以使用 'load file content in memory' 流式传输数据并在电子邮件内容中传递变量)
方法 2。(如果您需要表格格式的电子邮件)
在 table 输入步骤中使用您的查询并使用 xml 输出提取
验证 xml 是否格式正确
使用 XSL 转换将输出更改为 html
将html作为变量的一部分传递
- 在电子邮件内容中传递变量
我是 PDI
的新手,我正在尝试执行以下操作:
SELECT table_names FROM schema.table_details WHERE last_run_date < current_date
table_details
有关于不同架构中的所有表及其最后 运行 时间的信息。我想知道哪些表格今天没有更新,并将表格列表作为主题或电子邮件正文发送(我更希望它们作为主题或正文而不是文件)。
如何使用 PDI
执行此操作?
我试过使用 Set variables
,但它只能容纳一行。
您可以逐步使用分组,使用 'Concatenete string separated by' 选项,值为 ${line.separator},这样您将有一行,包含完整的字符串。有了这个,您可以设置为变量并将 JOB 邮件步骤用作正文。
我以一种简单的方式实现了这一点,而不是为所有 table 发送电子邮件,我为所有 table 发送一封包含每日状态的电子邮件。
您可以通过两种方式执行相同的操作
方法一
在 table 输入步骤中使用您的查询
将跃点连接到 excel 输出,您可以在其中获得文件状态
然后您可以使用电子邮件步骤通过电子邮件发送与附件相同的文件。 (您想获取电子邮件内容中的信息,您可以使用 'load file content in memory' 流式传输数据并在电子邮件内容中传递变量)
方法 2。(如果您需要表格格式的电子邮件)
在 table 输入步骤中使用您的查询并使用 xml 输出提取
验证 xml 是否格式正确
使用 XSL 转换将输出更改为 html
将html作为变量的一部分传递
- 在电子邮件内容中传递变量