Запрос на вставку или обновление выполнен успешно, но данные не сохраняются

Я пытаюсь вставить или обновить элементы в существующей базе данных Firebird, используя JDBC. Я получаю доступ к базе данных с учетными данными по умолчанию (SYSDBA и основной ключ).

Запрос выполнен успешно в соответствии с JDBC, но база данных не изменена (когда я выполняю select, мои данные не отображаются). Я также пытался изменить содержимое базы данных с помощью программного обеспечения, такого как RazorSQL, результат тот же (база данных изменяется во время сеанса, но если я отключаюсь и снова подключаюсь к базе данных, мои изменения теряются).

У кого-нибудь есть идея, как решить эту проблему?

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


person reevolt    schedule 20.07.2013    source источник


Ответы (1)


Скорее всего, вы работаете с отключенным autoCommit. В этом случае вам нужно явно вызвать commit() на Connection. Также имейте в виду, что транзакция может видеть только изменения транзакций, которые были зафиксированы до ее запуска.

См. также Руководство программиста Java-драйвера Jaybird JDBC, главу Использование транзакций.

person Mark Rotteveel    schedule 20.07.2013