Обработка дат при копировании из таблицы Excel в базу данных сервера SQL в Talend
Я копирую данные из книги Excel в таблицу базы данных сервера SQL. В одном из столбцов моего листа Excel есть даты, которые я генерирую с помощью функции Rand.
Если я сохраню типы данных моих столбцов в виде строки как в своем входе Excel, так и в выводе SQL. Я получаю сообщение об ошибке "Преобразование не удалось при преобразовании символьной строки в тип данных smalldatetime".
Если я сохраняю свои типы данных как Дата, это выдает ошибку, которая говорит: "Формат ячейки не Дата в....(адрес ячейки)"
В моем определении таблицы в SQL-сервере. Он имеет тип данных smalldatetime.
Для решения этой проблемы я использую tConvertType. Но я получаю сообщение об ошибке: "Формат ячейки не Дата в....(адрес ячейки)"
Я приложил скриншоты моей работы.
2 ответа
Вы также можете использовать метод TalendDate.parseDate для конвертации... это можно использовать в выражении в tMap... так что ваш поток с чтением даты из Excel в виде String и преобразованием его в дату с использованием TalendDate.parseDate("yyyy-MM-dd HH: мм: сс","")
компоненты ввода -> tmap -> tmssqloutput.
Вам необходимо преобразовать тип в вашей работе Talend.
Считайте дату в виде строки, а затем используйте компонент tConvertType для преобразования типа из строки в тип даты с определенным форматом даты. Затем вы сможете отправить это в базу данных как smalldatetime
тип данных