Pentaho DI - Table 输入错误 "couldn't get row from result set"

Pentaho DI - Table Input error "couldn't get row from result set"

创建从 MySQL 数据库中提取的 ETL 时,我在 Pentaho 数据集成中遇到错误。

具体来说,我在名为 "Table Input" 的第一步中遇到了一个错误。连接很好,所以我知道这不是问题所在。即使是第一行我也有问题。

这段是错误日志的一部分:

2017/01/11 12:26:00 - IN R.A.L..0 - ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : Unexpected error
2017/01/11 12:26:00 - IN R.A.L..0 - ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 
2017/01/11 12:26:00 - IN R.A.L..0 - Couldn't get row from result set
2017/01/11 12:26:00 - IN R.A.L..0 - 
2017/01/11 12:26:00 - IN R.A.L..0 - Unable to get value 'Date' from database resultset, index 63
2017/01/11 12:26:00 - IN R.A.L..0 - Value '0000-00-00' can not be represented as java.sql.Timestamp
2017/01/11 12:26:00 - IN R.A.L..0 - 
2017/01/11 12:26:00 - IN R.A.L..0 - 

我可以 "suppose" 它是声明为具有 0000-00-00 的时间戳的行中的一个值,但我检查并仔细检查,不是这样!我确实有一个时间戳,但它的值不是日志中所说的 0000-00-00,并且具有 0000-00-00 的一列不是时间戳而是日期,所以...

我显然遗漏了一些东西,否则我不会问,所以在此先感谢您的帮助!!!

如果您想知道是哪一行导致了问题,您可以在 table 输入步骤之后添加 2 个文本文件输出步骤。将一个输出步骤与真实记录连接(你会在跃点上看到绿色正确符号)-假设 output-A 和一个错误记录(你会在跃点上看到红色 X 符号) - 假设 output-B。这样转换就不会失败,它会将导致错误的记录发送到 output-B。通过这种方式,您可以查看哪些记录导致了问题并将其与其他记录进行比较。

感谢您抽出时间回复。我直接在pentaho论坛问了同样的问题,解决了

http://forums.pentaho.com/showthread.php?217544-Table-input-error-quot-couldn-t-get-row-from-result-set-quot

谢谢!

使用这个函数帮我解决了这个问题。

date_format(data_cadastro_cli,"%Y-%m-%d")