2013-02-19 4 views
1

Я использую инструмент интеграции данных (Talend) вставить несколько строк на в IBM DB2, но следующая команда выдает ошибку:Insert бросает SQLCODE: -180, SQLSTATE: 22007 на IBM DB2

INSERT INTO «TOTCHQ» («CODREM», «NUMDOCC8», «NOMPES», «NUMBAN», «CODAGEBN», «QTDCHQDL», «DATULTOA») ЗНАЧЕНИЯ («3080», 99999999999, «FULANO DE TAL», 100, 0000 », 2, '2012-11-28')

DB2 ошибка SQL: SQLCODE: -180, SQLSTATE: 22007, SQLERRMC: нулевой - Line: 0

Похоже колонке дата (DATULTOA) находится в неправильный формат, но это не так.

Эта же команда, выполняемая на другом инструменте (например, DbVisualizer) или даже прямо, работает нормально.

Вот моя таблица метаданных:

CODREM  VARCHAR(4)  
NUMDOCC8 DECIMAL(14, 0) 
NOMPES  VARCHAR(50) 
NUMBAN  SMALLINT 
CODAGEBN VARCHAR(6) 
QTDCHQDL SMALLINT  
DATULTOA DATE 

Спасибо заранее.

+0

Я согласен с тем, что само заявление выглядит хорошо. – 2013-02-19 14:35:45

ответ

4

Описание SQLCODE -180: «Значение DATE, TIME или TIMESTAMP VALUE is INVALID».

Я считаю 7 названий столбцов и 7 значений данных. Таким образом, это не проблема несоосности.

Дата «2012-11-28» принимает формат yyyy-mm-dd. Возможно, talend ожидает формат yyyy-dd-mm или какой-либо другой формат даты.

+0

Я так не думаю ... Я нашел обходное решение с использованием другого компонента Talend, но он генерирует тот же запрос. Это очень странно. (http://www.talendforge.org/forum/viewtopic.php?pid=103011#p103011) – user2087444