Я использую последнюю версию H2, то есть версию 1.3.150, и я получаю исключение org.h2.jdbc.JdbcSQLException при обновлении VARCHAR2.
Оператор SQL очень прост
UPDATE STAMP_TABLE SET DESCRIPTION='a bit of text' WHERE STAMPID='s/1'
и в самой таблице нет ничего особенного, только куча VARCHAR2 и BLOB
Работает в первый раз и не работает во второй раз с сообщением об ошибке:
Error while renaming file "C:\my\local\path\1.t6.lob.db" to "C:\my\local\path\1.temp.lob.db"
метод, который использует оператор SQL, приведен ниже:
public void updateStampDescription(StampId stampId, String description) throws SQLException {
PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement(UPDATE_STAMP_DESCRIPTION);
stmt.setString(1, description);
stmt.setString(2, stampId.getId());
logger.debug("SQL statement: " + stmt.toString());
stmt.execute();
}
catch(SQLException ex){
logger.error("Error while updating table " + STAMPS_TABLE_NAME + ", description column: " + ex.getMessage() );
ex.printStackTrace();
throw ex;
}
finally {
if(stmt!=null) stmt.close(); // Also closes the ResultSet
}
}
Есть идеи, что случилось?