DB2 JDBC PreparedStatement Ошибка выполнения "Преобразование с плавающей точкой требует JDK1.5 null" - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь выполнить небольшой запрос на обновление таблицы DB2 с использованием JAVA JDBC.Я получаю эту ошибку, когда использую подготовленную переменную привязки операторов для передачи значений.Столбец, который я пытаюсь обновить, объявлен как DECIMAL (13,2).Пожалуйста, кто-нибудь подскажет мне, как решить эту проблему.

DB2 версия 11.1
Java версия 8
Последняя версия драйвера JDBC, загруженная с веб-сайта IBM
Windows

String query="update ALLOC_SUM set stat_amt=? where cost_cntr=50";
PreparedStatement stmt = connection.prepareStatement(query);
BigDecimal bd=new BigDecimal("2.54");
stmt.setBigDecimal(1, bd);
stmt.executeUpdate();

Трассировка стека исключений

com.ibm.db2.jcc.am.SqlException: [jcc][t4][1037][11192][3.71.22] Exception occurred during Decimal floating point conversion.  See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null
    at com.ibm.db2.jcc.am.gd.a(gd.java:797)
    at com.ibm.db2.jcc.am.gd.a(gd.java:66)
    at com.ibm.db2.jcc.am.gd.a(gd.java:98)
    at com.ibm.db2.jcc.t4.eb.b(eb.java:1903)
    at com.ibm.db2.jcc.t4.hb.a(hb.java:1578)
    at com.ibm.db2.jcc.t4.hb.a(hb.java:1362)
    at com.ibm.db2.jcc.t4.hb.a(hb.java:1350)
    at com.ibm.db2.jcc.t4.hb.a(hb.java:1276)
    at com.ibm.db2.jcc.t4.hb.a(hb.java:876)
    at com.ibm.db2.jcc.t4.hb.a(hb.java:221)
    at com.ibm.db2.jcc.t4.wb.a(wb.java:177)
    at com.ibm.db2.jcc.am.hp.a(hp.java:3417)
    at com.ibm.db2.jcc.am.hp.a(hp.java:4253)
    at com.ibm.db2.jcc.am.hp.b(hp.java:4062)
    at com.ibm.db2.jcc.am.hp.jc(hp.java:792)
    at com.ibm.db2.jcc.am.hp.executeUpdate(hp.java:770)
    at net.abcbs.cost.batch.job.TestJobImpl.run(TestJobImpl.java:45)
    at net.abcbs.cost.batch.deploy.BatchJobAdapter.execute(BatchJobAdapter.java:18)
    at net.abcbs.cost.batch.deploy.UnitTestJobRunner.main(UnitTestJobRunner.java:11)
Caused by: com.ibm.db2.jcc.a.ConversionException: [jcc][converters][606][10995]Decfloat conversion requires JDK1.5 null
    at com.ibm.db2.jcc.a.e.a(e.java:356)
    at com.ibm.db2.jcc.a.e.b(e.java:217)
    at com.ibm.db2.jcc.t4.eb.b(eb.java:1899)
    ... 15 more
Caused by: java.lang.NullPointerException
    at com.ibm.db2.jcc.a.e.a(e.java:334)
    ... 17 more
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...