2017-01-11 10 views
0

MySQLデータベースから抽出するETLを作成中にPentaho Data Integrationにエラーが発生しました。Pentaho DI - テーブル入力エラー "結果セットから行を取得できませんでした"

特に、「テーブル入力」という非常に最初のステップでエラーが発生します。接続は正常ですので、問題ではありません。私は非常に最初の行でさえ問題があります。

この段落は、エラーのログの一部です:

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 - 

私はそれが0000-00-00を持っているタイムスタンプとして宣言された行の値である「仮定」することができますが、私がチェックし、ダブルチェックして、それはそれではありません!私はタイムスタンプを持っていますが、その値は0000-00-00ではなく、0000-00-00を持つ1つの列はタイムスタンプではなくDateです。

私は明らかに何かが欠けている、そうでなければ私は尋ねていないだろう、あなたの助けを事前に感謝!

答えて

0

問題の原因となっている行を知りたい場合は、テーブル入力ステップの直後に2つのテキストファイル出力ステップを追加できます。 1つの出力ステップを真のレコードと接続します(ホップで緑色の正しいシンボルが表示されます) - 郵便番号output-Aと偽のレコード(ホップで赤色のX記号が表示されます) - レットはoutput-Bと表示されます。この方法で変換は失敗せず、エラーを記録してoutput-Bに送信します。こうすることで、どのレコードが問題を引き起こしているのかを確認し、他のレコードと比較することができます。

関連する問題