База данных H2. Ошибка обновления поля CLOB со значением html

Я использую следующий код для обновления поля CLOB.

final static String PAGE_BODY_UPDATE = "update BODYCONTENT set body = ? where bodycontentid = ?";

private static void updatePageContent(int pageID, String body) {
        Connection conn = getConnection();
        PreparedStatement st = conn.prepareStatement(PAGE_BODY_UPDATE);
        st.setInt(1, pageID);
        Clob myclob = conn.createClob();
        myclob.setString(1, body);
        st.setClob(2, myclob);
        st.executeUpdate();
}

Но это вызывает ошибку.

org.h2.jdbc.JdbcSQLException: Data conversion error converting "<html><head><META http-equiv = ""Content-Type"" content = ""text/html; charset=utf-8""></head></html>"; SQL statement:
update BODYCONTENT set body = ? where bodycontentid = ? [22018-196]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    at org.h2.message.DbException.get(DbException.java:168)
    at org.h2.value.Value.convertTo(Value.java:996)
    at org.h2.value.ValueLobDb.convertTo(ValueLobDb.java:207)
    at org.h2.mvstore.db.MVPrimaryIndex.getKey(MVPrimaryIndex.java:351)
    at org.h2.mvstore.db.MVDelegateIndex.find(MVDelegateIndex.java:69)
    at org.h2.index.BaseIndex.find(BaseIndex.java:128)
    at org.h2.index.IndexCursor.find(IndexCursor.java:169)
    at org.h2.table.TableFilter.next(TableFilter.java:468)
    at org.h2.command.dml.Update.update(Update.java:102)
    at org.h2.command.CommandContainer.update(CommandContainer.java:101)
    at org.h2.command.Command.executeUpdate(Command.java:260)
    at org.h2.server.TcpServerThread.process(TcpServerThread.java:354)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:158)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NumberFormatException: For input string: "<html><head><META http-equiv = "Content-Type" content = "text/html; charset=utf-8"></head></html>"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Long.parseLong(Long.java:589)
    at java.lang.Long.parseLong(Long.java:631)
    at org.h2.value.Value.convertTo(Value.java:942)
    ... 12 more

Я пытаюсь использовать простой HTML как этот

"<html><head></head><body></body></html>"

Но у меня все равно ошибка. Как я могу загрузить значение html в поле CLOB? Спасибо за ответ!

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
781
1

Ответы 1

Вы изменили свои параметры

пытаться

 Clob myclob = conn.createClob();
 myclob.setString(1, body);
 st.setClob(1, myclob);
 st.setInt(2, pageID);

Другие вопросы по теме

Множественный список элементов с автоматической прокруткой
Почему я получаю ошибку неперехваченной ссылки при попытке доступа к этой глобальной переменной?
Как я могу заставить этот отключенный ввод действовать как включенный и прокручивать при нажатии кнопок?
Сайт замедляется после загрузки файла данных JSON размером 50 МБ
Как я могу отредактировать размер заднего фонового поля, чтобы он соответствовал внутренним ящикам с помощью node.js
При использовании атрибута name с ngModel в теге формы ошибка по-прежнему возникает - «Если ngModel используется в теге формы, необходимо установить атрибут name ...»
Мое фоновое изображение не раскрывается полностью или не отображается в полном размере. Проблема с фоновым изображением в разделе html
Предотвращение переноса div на меньший экран html css
Как сделать POST-запрос в HTML, не открывая новую вкладку
Тег HTML To @ Html.ActionLink в ASP.NET MVC5