2016-10-04 2 views
0

enter image description here У нас есть инструмент интеграции данных Talend, который использует код eclipse при отправке информации из источника в целевую систему. Получение ошибкиКак проверить исключение null-указателя в типе данных DATE

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] 

Вход:

тип данных Дата является источником нулевых значений в TMAP компоненте

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

Мы попытались: Но не работает для нас.

Чтобы избежать нулевой
row1.DNDB == NULL "нуль"? Row1.DNDB

ответ

1

row1.DNDB==null?"null":row1.DNDB не может работать: вы присваиваете значения выходного либо "нулевой" (строка, с двойные кавычки) или row1.DNDB, который должен быть датой. У вас будет исключение cast в компиляции.

Вы можете попробовать либо:

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

если вы хотите тип Дата возвращения; или

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

, если вы хотите, тип возвращаемого значения Строка для обоих значений.

Также проверьте, что ваш выходной столбец помечен как обнуляемый (флажок)

+0

Спасибо за ответ .После пытается Both синтаксиса на машине. все же он жалуется на исключение Null. – NEO

+2

Это единственное поле в вашем картографировании? Может ли эта ошибка быть связана с другим полем? В tMap вы можете попытаться снять флажок «die on error» в «tMap Settings» (верхняя левая часть окна tMap): тогда у вас будет второй вывод для отклонения. – Corentin

+0

Когда я попробовал это, снимите флажок «Die on Error», а затем выполним работу с меньшим количеством строк. оригинальное количество строк 687, но только для 650. – NEO

Смежные вопросы