Kettle作业/转换自动化方案——SQLAgent调用DOS命令(结果:方案无效)

浏览: 1991
ETL

背景:

最近团队开始使用Kettle做ETL开发。网上通用的作业/转化自动化方案是依赖windows自身的任务计划程序实现的。鉴于任务计划程序的失败没有办法在执行失败时发出通知邮件,所以想尝试看是否能够用SQLAgent调用DOS命令的方式实现自动化。


方案:

1. 在SQLAgent中建立作业。添加类型为“操作系统(Cmdexec)”的作业步骤,内容如下图:

image.png


2. 完成后续配置后运行作业,结果运行失败。错误如下:

image.png

排查:

1. 是否脚本有问题。

    解决:命令行运行上述命令,转换调用成功。

2. 是否与Kettle资源库和数据库配置文件存储位置有关。作业以SYSTEM身份执行,配置文件夹存在登陆用户下,由此猜想是否无法读取相关配置。

   解决:把配置文件夹复制到Administrator用户下。再次运行作业,作业执行成功。

结果:

Kettle日志库中并没有转换被执行的日志记录,目标库也没有记录生成。以此方案调用Kettle作业也没有日志记录。

由此判定方案无效。

PS:有空再看看能怎么改进吧。。。

推荐 2
本文由 cimenbi 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册