Ask Your Question
1

Make database store changes immediately ? [closed]

asked 2013-03-19 15:53:14 +0100

mark_orion gravatar image

Native (using the internal HSQLDB) LibreOffice databases sadly do not save changes immediately to disk, because only certain conditions seem to trigger a checkpoint. Is there a way to configure base that every change in the database is immediately written to disk without the need to save ? In older 3.x OpenOffice versions I used additional checkpoints in my macros as a workaround, but for whatever reason this does not seem to work with LibreOffice 4.x anymore. When the checkpoint is called I get the following error: BASIC runtime error. An exception occurred Type: com.sun.star.sdbc.SQLException Message: File input/output errorerror java.io.IOException: S1000 invalid storage class: java.lang.NullPointerException opening file - file /home/test/testdatenbank.odb.data in statement [CHECKPOINT].

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Alex Kemp
close date 2016-02-21 14:56:11.123266

2 Answers

Sort by » oldest newest most voted
0

answered 2013-03-20 10:02:03 +0100

qubit gravatar image

Hi @mark_orion,

If these macros used to work for you in a previous version of LibreOffice and don't work in 4.0, this sounds like it could be a regression. It's also possible that the syntax has changed.

If installing/running the latest release (4.0.1) doesn't seem to fix this problem, and if you can reproduce the macro runtime error when you open a file that used to work under 3.x OpenOffice or LibreOffice, please file a bug and provide repro steps to trigger this runtime error. The QA team will be happy to help you track down this issue!

Please post a link to any bugs you file in a comment below using the format "fdo#123456".

Thanks!

edit flag offensive delete link more
0

answered 2014-04-28 10:13:17 +0100

Hi, I got basically the same problem. I was not aware that a "save record" would not update the database file. So I happilly entered new data over a 2 day period until I hit some illegal database call. This seemed to have corrupted the database. I wasn't too worried since I had the database file in Dropbox so I could go back in time. I thought. Only then I realised that the data base file was never updated as long as I was working within Libreoffice. Only closing libreoffice (Version: 4.2.3.3) would write out an updated version to disk.

So the only failproof way to avoid datalosses was: 1. Open database file 2. Add new record 3. Close libreoffice 4. (otional take a copy of the database file) 5. Reopen database file

This way I can get Libreoffice to frequently update the datbase file on disk so that any corruption caused by entering data (not really sure what the bug is here) will not leave me with all the work lost but only the latest data record entered.

Surely a non-optimal way and not really acceptable for any database application. Is there any way to make sure that the database is written out frequently without having to close the whole of LibreOffice Base each time?

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-03-19 15:53:14 +0100

Seen: 513 times

Last updated: Apr 28 '14