База данных H2 "Ошибка при переименовании файла" при обновлении таблицы - PullRequest
0 голосов
/ 02 февраля 2011

Я использую последнюю версию 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
        }
    
    }
    

Есть идеи, что случилось?

1 Ответ

0 голосов
/ 03 февраля 2011

Я отвечу на свой вопрос:

На самом деле, проект находился в папке Dropbox, и файлы в то время использовались Dropbox, и поэтому не могли быть переименованы так, как хотел H2.

...