(postgresql-42.2.5.jar) и СУБД PostgreSQL 10.6.
У меня есть набор результатов, и 3 его столбца имеют тип денег
(на уровне БД). И у меня есть объект метаданных набора результатов.
Когда тип столбца — деньги, метод драйвера
getColumnType() возвращает 8 для денег столбцы.
Я проверил, значение 8 означает Double.
Но значение, возвращаемое из БД, выглядит примерно так:
Код: Выделить всё
$1,312,536.00
Итак, когда я пытаюсь вызвать rs.getObject() для этого индекса столбца, возникает ошибка:
org.postgresql.util.PSQLException: Bad value for type double: 1,312,536.00
at org.postgresql.jdbc.PgResultSet.toDouble(PgResultSet.java:2934)
at org.postgresql.jdbc.PgResultSet.getDouble(PgResultSet.java:2323)
at org.postgresql.jdbc.PgResultSet.internalGetObject(PgResultSet.java:194)
at org.postgresql.jdbc.PgResultSet.getObject(PgResultSet.java:2572)
at org.apache.commons.dbcp2.DelegatingResultSet.getObject(DelegatingResultSet.java:733)
at org.apache.commons.dbcp2.DelegatingResultSet.getObject(DelegatingResultSet.java:733)
< /code>
Так что, кажется, драйвер не может поговорить со своим собственным DB, когда дело доходит до типа денег. < /p>
Это кажется для меня ошибкой. это
https://github.com/pgjdbc/pgjdbc/issues/100
Но они закрыли его Из -за отсутствия ответа вместо его исправления. < /p>
Есть идеи, как это решить? < /p>
Это действительно ошибка или я что -то упускаю?
Подробнее здесь: https://stackoverflow.com/questions/549 ... ype-double