2016-10-04 14 views
0

enter image description hereソースコードからターゲットシステムに情報を送信する際にEclipseコードを使用するTalendデータ統合ツールがあります。 取得エラーDATEデータ型でNULLポインタ例外をチェックするにはどうすればいいですか

Exception in component tMap_1 

    java.lang.NullPointerException 
     at bigdata.copy_of_readsysproandsendmail_0_1.Copy_of_ReadSysproAndSendMail.tJDBCInput_2Process(Copy_of_ReadSysproAndSendMail.java:1937) 
     at bigdata.copy_of_readsysproandsendmail_0_1.Copy_of_ReadSysproAndSendMail.runJobInTOS(Copy_of_ReadSysproAndSendMail.java:5086) 
     at bigdata.copy_of_readsysproandsendmail_0_1.Copy_of_ReadSysproAndSendMail.main(Copy_of_ReadSysproAndSendMail.java:4885) 

     at bigdata.copy_of_readsysproandsendmail_0_1.Copy_of_ReadSysproAndSendMail.tJDBCInput_2Process(Copy_of_ReadSysproAndSendMail.java:2098) 
    at bigdata.copy_of_readsysproandsendmail_0_1.Copy_of_ReadSysproAndSendMail.runJobInTOS(Copy_of_ReadSysproAndSendMail.java:5355) 
    at bigdata.copy_of_readsysproandsendmail_0_1.Copy_of_ReadSysproAndSendMail.main(Copy_of_ReadSysproAndSendMail.java:5154) 
Job Copy_of_ReadSysproAndSendMail ended at 23:16 03/10/2016. [exit code=0] 

入力: をしかし、私たちのために動作しませんでした:

Dateデータ型は、我々がしようとした

DNDB date type(source) ---->row1.DNDB(output) is Date data type. both are nullable. 

TMAPコンポーネントでNULL値のソースです。 ?row1.DNDB

答えて

1

row1.DNDB==null?"null":row1.DNDBは動作しないことができます:であなたは、出力値のいずれか "ヌル"(文字列に割り当てるヌル
row1.DNDB == nullの "ヌル" を避けるために

二重引用符)またはrow1.DNDB。日付でなければなりません。コンパイル時にキャスト例外が発生します。

次のいずれか試すことができます。

Relational.ISNULL(row1.DNDB)?null:row1.DNDB 

あなたは日の戻り値の型をしたい場合は、 または

Relational.ISNULL(row1.DNDB)?"null":TalendDate.formatDate("yyyy-MM-dd HH:mm:ss",row1.DNDB) 

あなたは両方の値のための文字列の戻り値の型をしたい場合。

また、あなたの出力列がNULL可能(チェックボックス)としてマークされているマシン上の構文の両方を試し.After返信用

+0

感謝を確認してください。それでもNullの例外については不平を言っています。 – NEO

+2

マッピングの唯一のフィールドですか?このエラーは別のフィールドにリンクできますか? tMapでは、 "tMap Settings"(tMapウィンドウの左上部分)で "die on error"のチェックを外すことができます:次に、拒否のための2番目の出力があります。 – Corentin

+0

私はこれを「エラー時に死ぬ」のチェックを外してみたところ、ジョブは少ない行数で実行されました。行687の元の番号ではなく、650だけをフェッチしています。 – NEO

関連する問題