Я пытался сохранить LocalDateTime в столбце TIMESTAMP в DB2 10.5, но завершился неудачно с ошибкой:
[jcc] [1091] [10824] [4.26.14] Неверные данные преобразование: экземпляр параметра 2020-01-02T12: 34: 56 недопустим для запрошенного преобразования. ERRORCODE = -4461, SQLSTATE = 42815
Я использую драйвер IBM JDB C: «Драйвер JDB C Драйвер IBM Data Server для JDB C и SQLJ 4.26.14» который реализует JDB C spe c 4.1.
Определение таблицы:
create table t1 (
id int,
a timestamp
);
И код Java:
LocalDateTime dt = LocalDateTime.of(2020, 1, 2, 12, 34, 56);
PreparedStatement ps = conn.prepareStatement(
"insert into t1 (id, a) values (?, ?)"
);
int id = 1;
ps.setInt(1, id);
ps.setObject(2, dt); // fails here
ps.execute();
I можно увидеть, что он даже не доходит до метода ps.execute()
. Я читал, что драйвер JDB C 4.2 может это исправить, но я нигде не могу его найти.