【问题标题】:Change Data Capture in Pentaho Community Edition 8.3 VersionPentaho Community Edition 8.3 版本中的变更数据捕获
【发布时间】:2020-02-13 23:06:07
【问题描述】:

我正在尝试在 pentaho 8.3 版本社区版上做 CDC,源是 Oracle,目标是 Mysql。 Oracle 中的日期格式为 DD-MON-YY (01-JAN-19) 格式,但是当我在 PDI(Preview) 中看到数据时 它显示为2019/01/01 00:00:00.00000000

来源查询:

Select ColA, ColB 
from table
where Last_upd_dt > ? and last_upd_dt <=? 

在表格输入步骤中并从获取系统信息步骤中获取 start_date 和 end_date(Start_date 作为开始日期范围,end_date 作为结束日期范围)并在转换属性>>日志记录>>转换中提供了一个 Log_table 以及连接.但是当我执行转换时,我遇到了以下错误:

错误:无法将日志记录写入日志表[Log]

错误:org.pentaho.di.core.exception.KettleDatabaseException: 插入/更新行时出错 数据截断:不正确的日期时间值:第 1 行的列 Start_date 的“1900-01-01 03:00:00.0” 原因:com.mysql.cj.jdbc.execeptions.MysqlDataTruncation:数据截断:不正确的日期时间值:第 1 行的列 Start_date 的“1900-01-01 03:00:00.0”

【问题讨论】:

    标签: mysql oracle pentaho


    【解决方案1】:

    这是因为日期时间格式问题。在输入和输出之间放置选择值并定义日期格式dd-MMM-yyyy输出步骤支持 在元数据选项卡中。

    【讨论】:

    • 不涉及 OUTPUT 步骤,因为正在读取数据并在 INPUT 步骤应用过滤条件(从 Last_upd_dt > 的表中选择 ColA、ColB ?和 last_upd_dt
    • 您可以在 ? 来自上一步的输入步骤之前使用,对吗?
    猜你喜欢
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2011-02-14
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多