kettle里面的获取系统信息的组件,我要获取系统时间,表中的字段是长度是19位的
但是日志打印出来的日期是精确到了毫秒级,如:2018/04/27 13:32:13.797
导致数据插不进去,怎么解决?
1.通过触发器。在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时 表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有 一定的影响。
2.通过时间戳。我是在两边数据库的表里插入了一列(用来取数据变动时的时间),然后做个计划任务,设置每隔多少时间跑一次kettle,就行了。要实现“实时”,就只能把时间间隔设小一点。
1.通过触发器。在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时 表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有 一定的影响。
2.通过时间戳。我是在两边数据库的表里插入了一列(用来取数据变动时的时间),然后做个计划任务,设置每隔多少时间跑一次kettle,就行了。要实现“实时”,就只能把时间间隔设小一点。
1、不使用获取系统信息步骤获取系统时间,而是使用javascript代码步骤获取,然后使用代码处理时间
2、在javascript代码中调用自己写的jar包处理时间方法处理
可以使用js脚本将时间格式化一下