关于Kettle 转换、作业日志自动配置的解决方案
来源:互联网 发布:小甲鱼windows教程 编辑:程序博客网 时间:2024/06/06 16:18
在一个项目中,一般情况下Kettle所有的转换和作业日志应该集中放在一起,便于管理和维护。但在使用Kettle的过程中,发现每次新配置一个转换或作业的时候,转换或作业的日志需要重新配置一次,感觉比较麻烦。Kettle不能把日志配置保存成一个默认值,或者在什么地方可以配置,查阅相关资料,一直没找到好的解决方法。分析Kettle相关系统表,发现借助数据库功能,可以实现Kettle转换或作业日志自动配置问题。
Kettle的转换日志配置如下:
Kettle的作业日志配置如下:
按照正常流程,每次新建一个转换或作业的时候,都需要重新配置一次日志,有时还会忘记,极大影响了的工作效率。
需要在日志数据库上创建两个触发器,即可实现上述功能。
作业日志配置:
Create or replace trigger r_job_log after insert on r_job_attribute
Declare
V_job integer;
/*
*日志表:与所建的日志表对应
*/
V_job_log varchar2(20):=’TB_JOB_LOG’;
V_job_entry_log varchar2(20):=’TB_JOB_ENTRY_LOG’;
V_job_channel_log varchar2(20):=’TB_JOB_CHANNEL_LOG’;
/*
*数据库连接名
*/
v_database_name varchar2(20):=’TEST’;
begin
select max(t.id_job) into v_job from R_JOB t;
--更新日志表
update r_job_attribute set value_str =v_job_log where code='JOB_LOG_TABLE_TABLE_NAME' and id_job=v_job;
update r_job_attribute set value_str =v_job_entry_log where code='JOB_ENTRY_LOG_TABLE_TABLE_NAME' and id_job=v_job;
update r_job_attribute set value_str =v_job_channel_log where code='CHANNEL_LOG_TABLE_TABLE_NAME' and id_job=v_job;
--更新数据库连接
update r_job_attribute set value_str =v_database_name where code='JOB_LOG_TABLE_CONNECTION_NAME' and id_job=v_job;
update r_job_attribute set value_str =v_database_name where code='JOB_ENTRY_LOG_TABLE_CONNECTION_NAME' and id_job=v_job;
update r_job_attribute set value_str =v_database_name where code='CHANNEL_LOG_TABLE_CONNECTION_NAME' and id_job=v_job;
end r_job_log;
end r_job_log;
转换日志配置:
create or replace trigger r_trans_log
after insert on r_trans_attribute
declare
v_trans integer;
/*
*日志表:与所建的日志表对应
*/
v_trans_log varchar2(20):='TB_TRANS_LOG';
v_STEP_LOG varchar2(20):='TB_STEP_LOG';
v_performance_log varchar2(20):='TB_PERFORMANCE_LOG';
v_channel_log varchar2(20):='TB_CHANNEL_LOG';
/*
*数据库连接名
*/
v_database_name varchar2(20):='TEST';
begin
select max(t.id_transformation) into v_trans from r_transformation t;
--更新日志表
update r_trans_attribute set value_str =v_trans_log where code='TRANS_LOG_TABLE_TABLE_NAME' and id_transformation =v_trans;
update r_trans_attribute set value_str =v_STEP_LOG where code='STEP_LOG_TABLE_TABLE_NAME' and id_transformation =v_trans;
update r_trans_attribute set value_str =v_performance_log where code='PERFORMANCE_LOG_TABLE_TABLE_NAME' and id_transformation =v_trans;
update r_trans_attribute set value_str =v_CHANNEL_LOG where code='CHANNEL_LOG_TABLE_TABLE_NAME' and id_transformation =v_trans;
--更新数据库连接
update r_trans_attribute set value_str =v_database_name where code='TRANS_LOG_TABLE_CONNECTION_NAME' and id_transformation =v_trans;
update r_trans_attribute set value_str =v_database_name where code='STEP_LOG_TABLE_CONNECTION_NAME' and id_transformation =v_trans;
update r_trans_attribute set value_str =v_database_name where code='PERFORMANCE_LOG_TABLE_CONNECTION_NAME' and id_transformation =v_trans;
update r_trans_attribute set value_str =v_database_name where code='CHANNEL_LOG_TABLE_CONNECTION_NAME' and id_transformation =v_trans;
end r_trans_log;
测试如下:
新建一个转换:
- 关于Kettle 转换、作业日志自动配置的解决方案
- KETTLE作业/转换在linux下的稳定执行
- kettle 转换配置
- 关于kettle配置SQL SERVER2008的说明
- kettle中给ktr作业设置日志
- kettle中给ktr作业设置日志
- 数据库的自动作业清理日志脚本
- kettle 的增量转换
- 关于kettle加载job找不到转换文件路径的问题解决
- Kettle配置自动发送邮件并在数据库中记录运行日志
- kettle 为转换增加日志表
- kettle 命令行运行作业(kitchen)和转换(pan)以及一路下来编写的例子
- Kettle使用资源库日志信息配置
- slf4j简介---日志系统的自动转换
- Kettle 作业步骤循环执行的实现
- 通过 脚本执行 kettle 的作业 命令
- kettle调试远程执行的作业
- kettle 日志
- QT调试时提示Signal name: SIGSEGV - Signal meaning: Segmentation Fault
- EBS Form开发中LOV和Editor介绍
- 海量数据处理分析
- 谷歌眼镜设计规范之时间轴设计
- 设计模式之总结与回顾
- 关于Kettle 转换、作业日志自动配置的解决方案
- 检测大写键
- 软件工程—软件可靠性测试
- 采用加密方式解决混合云安全的挑战
- TO_CHAR函数的用法
- 迈阿密大学的IT改造:集中化与云端化
- 在Windows平台上安装Node.js及NPM模块管理
- kettle常见问题之错误处理
- hdu 1024 Max Sum Plus Plus (求一个序列中选出的m个不相交子段和的最大值)