2014-05-28 2 views
0

Я пытаюсь скопировать данные из Excel в таблицу SQL.Непрозрачная ошибка даты - Talend

У меня есть даты, созданные в файле Excel с использованием функции RAND. Я беру их как строки ввода и пытаюсь преобразовать их в тип данных даты, используя tConvertType.

Я установил его тип данных как «строка» в исходном вводе и как «дата» в выводе tConvertType и в tMSSqlOutput.

У моей работы есть рабочий поток Excel input -> tConvertType -> tMap -> tMSSqlOutput. Во время выполнения задания я получаю сообщение об ошибке, которая говорит: java.text.ParseException: Дата: не поддается синтаксическому анализу «Вт Июл 17 00:00:00 EDT 1973»

Я не уверен, где проблема. Если бы кто-нибудь мог мне помочь в этом, он был бы очень признателен.

Вот скриншот моей работы. enter image description here

+0

Как вы задали предыдущие вопросы, можете ли вы показать, как настроен tconverttype и схема для него? – ydaetskcoR

+0

Вместо типа преобразования вы можете использовать tMap для преобразования дат с помощью процедуры TalendDate. – UmeshR

ответ

2

Я могу разобрать вашу дату выборки, пожалуйста, используйте функцию tMap для вашей поданной даты.

System.out.println(TalendDate.parseDateLocale("EEE MMM dd HH:mm:ss zzz yyyy", 'Tue Jul 17 00:00:00 EDT 1973', "EN"));

функция yourDateColumn!=null && !"".equalsIgnoreCase(yourDateColumn)? TalendDate.parseDateLocale("EEE MMM dd HH:mm:ss zzz yyyy", yourDateColumn, "EN") :null

+0

Да, спасибо большое! –

0

@UmeshR: ваш код работает нормально, но вы должны обрабатывать часовой пояс вещь, как хорошо. например Я из Индии, и когда я конвертировал время с EDT, я превратил его в свой местный часовой пояс. см. экран-снимок enter image description here.