![Kettle发送邮箱并在正文中以表格形式展示内容[基础版],第1张 Kettle发送邮箱并在正文中以表格形式展示内容[基础版],第1张](/aiimages/Kettle%E5%8F%91%E9%80%81%E9%82%AE%E7%AE%B1%E5%B9%B6%E5%9C%A8%E6%AD%A3%E6%96%87%E4%B8%AD%E4%BB%A5%E8%A1%A8%E6%A0%BC%E5%BD%A2%E5%BC%8F%E5%B1%95%E7%A4%BA%E5%86%85%E5%AE%B9%5B%E5%9F%BA%E7%A1%80%E7%89%88%5D.png)
之前曾多次使用kettle进行作业监控,当Kettle需要通过邮件发送统计结果时,之前我的做法都是通过邮箱附件的方式实现.而对于结果集很小的场景,如果依然使用附件方式,整个邮件的核心内容会显得非常不直观.
而如何在邮箱正文中通过表格方式展现统计结果呢?
邮件正文中支持HTML格式,那解决办法就是自行拼出HTML,然后填到邮箱正文中.
自行拼接HTML串,是此任务中最麻烦的点,也是最关键的点.另外,要注意使用组件"设置变量"将统计结果写入变量中.
下面展示一下,将Oracle查询得到的结果集拼成HTML的实例:(Sql拼接HTML是一种方式,也可以尝试使用其他方式.)
至此,通过SQL将查询结果拼接HTML串的方式实现邮箱正文展示结果集的过程梳理完毕,希望能够对你有用!
在本例中,上述的参数分别代表的意思为: @outputfile 生成HTML 文件的位置。如果文档将在远程计算机上生成,则该参数可以是 UNC 名称。 @query 要运行的查询。当在运行任务时,查询结果将以表格形式显示在 HTML 文档中。可以指定多个 SELECT 查询,这样可以在 outputfile 中显示多个表。 @templatefile 用于生成 HTML 文档的模板文件的路径。模板文件包含 HTML 文档的格式特征信息和标记 <%insert_data_here%>,该标记指示将查询结果添加到 HTML 表中的位置。 @dbname 在其上运行查询的数据库名。 指定查询结果是以粗体 (1) 还是非粗体 (0) 显示。bold 的数据类型为 tinyint,默认值为 0。 @rowcnt 指定生成的 HTML 文档中所显示行的最大值。默认值为 0,用来指定显示在 HTML 文档中满足给定查询的所有行。 @whentype 指定何时运行创建 HTML 文档的任务。9代表立即和应请求创建页。将立即创建和重新创建 HTML 文档。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)