OpenOffice.org Forum at OOoForum.orgThe OpenOffice.org Forum
 
 [Home]   [FAQ]   [Search]   [Memberlist]   [Usergroups]   [Register
 [Profile]   [Log in to check your private messages]   [Log in

Disappointed

 
Post new topic   Reply to topic    OOoForum.org Forum Index -> OpenOffice.org Base
View previous topic :: View next topic  
Author Message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Sat Apr 03, 2010 6:39 pm    Post subject: Disappointed Reply with quote

I am disappointed with Base. I have spent two weeks creating an embedded database. I am careful about saving and closing the application. However I am constantly faced with the need to "recover". This latest time is the straw that broke the camels back - couldn't recover and the only explanation is a "general error".

So what am I to do - no choice but go back to Microsoft Access
Back to top
View user's profile Send private message
jrkrideau
Super User
Super User


Joined: 08 Aug 2005
Posts: 6732
Location: Kingston ON Canada

PostPosted: Sun Apr 04, 2010 5:09 am    Post subject: Re: Disappointed Reply with quote

zazu wrote:
I am disappointed with Base. I have spent two weeks creating an embedded database. I am careful about saving and closing the application. However I am constantly faced with the need to "recover". This latest time is the straw that broke the camels back - couldn't recover and the only explanation is a "general error".

So what am I to do - no choice but go back to Microsoft Access


Bye.


On the other hand have you considered that you may have a damaged OOo installation or a damaged file. We seldom get a lot of complaints about repeated OOo crashes.
_________________
jrkrideau
Kingston ON Canada
Currently using Windows 7 & OOo 3.4.0 and Ubuntu 12.04 & LibreOffice 3.5.2.2
Back to top
View user's profile Send private message
Villeroy
Super User
Super User


Joined: 04 Oct 2004
Posts: 10106
Location: Germany

PostPosted: Sun Apr 04, 2010 6:17 am    Post subject: Reply with quote

The fact that the whole database is embedded in the document causes more instability and data loss than it would be typical for a database.
After I converted a big embedded HSQLDB to external H2-database I could kill the office dozends of times (even while running update queries) without any data loss in the backend. Not to talk about performance. H2 via JDBC does not work well with subforms in Base but well enough for my purposes.
Thanks to dacm

The database document without the database is just a collection of Writer documents and configuration data. The external database is not affected by problems in the Base application.

With the database embedded the whole thing behaves like a package that gets installed every time you open the document and repackaged when you close. The HSQLDB backend runs in the context of the office suite. It crashes with every instability anywhere in the office suite.

Again, Base is very well suited to read data from the outside world into office documents.
The input forms to write user data back into the database are second choice.
Any database structure you create from scratch is like a plastic toy, a caricature of a database, well enough for learning database design by simple, portable demos. But this was what the greedy masses asked for back in 2005.
_________________
Rest in peace, oooforum.org
Get help on https://forum.openoffice.org
Back to top
View user's profile Send private message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Sun Apr 04, 2010 11:10 am    Post subject: Reply with quote

I have a separate multi user ooo database that runs very well. The back end is on a network server and thanks to dacm I don't have any problems. That is for a law firm and given the issues I have with the embedded database I am holding my breath and hoping it won't be plagued with crashes.

Ideally the embedded database I am working on should go on the same server as a multi user - but I am not sure how to or whether I can
Back to top
View user's profile Send private message
dacm
Super User
Super User


Joined: 07 Jan 2010
Posts: 769

PostPosted: Sun Apr 04, 2010 10:34 pm    Post subject: Reply with quote

Sorry to hear you're having such issues with the standard Base-embedded setup. I've never seen instability that severe...well except for some macro code I was working on that crashed OOo consistently until I made the necessary adjustments. I'm thinking you've got a bad installation or perhaps running out of RAM or something. As a minimum, I would migrate everything to a new .odb and see if stabiity improves.

But Base is buggy and slightly unstable. After almost two decades of MS Office-based application development, I'd use MS Access over Base anytime the project allowed. And there's Eclipse/J2EE/WxWidgets/.Net-Smart-Clients/etc. to consider since MS Access doesn't scale well. But MS Access can't offer the portability or licensing terms of Base.

Is it data or simply progress on your forms or reports that you've lost. Can you extract the database files from the .odb? Do you have some older backups which you could drag & drop your forms on a new instance of Base?

Since you're comfortable running Base client-server, I would use that environment (on the same computer) for development as well. That's one of three major reasons to go client-server with Base -- in my opinion (multi-user, robustness & development considerations). I use PStart (menu) to start the HSQLDB server automatically when I open the menu. I have menu items that open the selected .odb file in Base. And I have a menu icon that can backup the database folder and .odb using Toucan Portable in command-line mode. Otherwise, you'll have to remember to backup your database folder as well as the .odb front-end components.
Back to top
View user's profile Send private message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Sun Apr 04, 2010 10:53 pm    Post subject: Reply with quote

When I closed the embedded database I subsequently made a back up copy. The back up goes through the same recovery/general failure problem as well.

No sure how to extract the data out of base
Back to top
View user's profile Send private message
Villeroy
Super User
Super User


Joined: 04 Oct 2004
Posts: 10106
Location: Germany

PostPosted: Mon Apr 05, 2010 2:48 am    Post subject: Reply with quote

Load the file into your preferred zip tool. The contained "database" directory contains the database.
Create a new, empty database and replace the database directory with the one from the old zip archive and see if the new file accepts the transplant.
_________________
Rest in peace, oooforum.org
Get help on https://forum.openoffice.org
Back to top
View user's profile Send private message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Mon Apr 05, 2010 12:40 pm    Post subject: Reply with quote

I don't see a directory. I zipped the .odb file which resulted in a single zipped file with the same name as the faulty database. Created a new database and unzipped the old renaming it the new to no effect
Back to top
View user's profile Send private message
Villeroy
Super User
Super User


Joined: 04 Oct 2004
Posts: 10106
Location: Germany

PostPosted: Tue Apr 06, 2010 10:14 am    Post subject: Reply with quote

zazu wrote:
I don't see a directory. I zipped the .odb file which resulted in a single zipped file with the same name as the faulty database. Created a new database and unzipped the old renaming it the new to no effect

The odb file is a zip archive already. Add a .zip extension to the name and see. Reportedly the WinRar program is able to fix some broken databases.
_________________
Rest in peace, oooforum.org
Get help on https://forum.openoffice.org
Back to top
View user's profile Send private message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Tue Apr 06, 2010 11:06 am    Post subject: Reply with quote

Ok I think I understand. I right click and open with winrar. There is a list of files. I double click on any and get the message "unexpected end of archive"

I choose repair and a new odb file is created - rebuilt.database. Open this in Base and get an error message saying driver class couldnt be loaded

However if I open the rebuil.database in winrar I can see the content of the various files ok.

Is there another step in the process to make this work
Back to top
View user's profile Send private message
Villeroy
Super User
Super User


Joined: 04 Oct 2004
Posts: 10106
Location: Germany

PostPosted: Tue Apr 06, 2010 11:11 am    Post subject: Reply with quote

Create a new embedded database and close it. Use WinRar to transfer the database directory from the old file to the new one.
If you have the tables and relations in the new database you can load both files in Base and copy the queries, forms and reports into the new database.
_________________
Rest in peace, oooforum.org
Get help on https://forum.openoffice.org
Back to top
View user's profile Send private message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Wed Apr 07, 2010 12:01 am    Post subject: Reply with quote

Thanks

I think there must be some inherent fault in either the original database or the ooo software because after I transfer the database directory to the new database and try to open base it crashes again

In the old database the files in the database directory are

script
properties (two copies - identical)
log
data (two copies)
backup.new
backup

I can open and read the script file. Opening all others results in the message "CRC failed. the file is corrupt"
Back to top
View user's profile Send private message
zazu
General User
General User


Joined: 06 Mar 2010
Posts: 37
Location: New Zealand

PostPosted: Wed Apr 07, 2010 12:04 am    Post subject: Reply with quote

Thanks

I think there must be some inherent fault in either the original database or the ooo software because after I transfer the database directory to the new database and try to open base it crashes again

In the old database the files in the database directory are

script
properties (two copies - identical)
log
data (two copies)
backup.new
backup

I can open and read the script file. Opening all others results in the message "CRC failed. the file is corrupt"
Back to top
View user's profile Send private message
dacm
Super User
Super User


Joined: 07 Jan 2010
Posts: 769

PostPosted: Wed Apr 07, 2010 5:12 pm    Post subject: Reply with quote

That's a mess. If it's worth your time, maybe Base can fix it's own corruption...

Make a backup.
Use your zip file tool to delete extra database files in the .odb database folder as follows:
Delete one .properties and one .data and delete backup.new (or delete the other .backup and rename backup.new to backup?).
Open the .odb in Base and see if it will recover.

If no recovery:
Try other combination of deletes, but you'll need your .script, .log, and .data (or .backup file) as a minimum based upon the OOo default "cached tables." You might try deleting the .log which contains the changes since the last CHECKPOINT or SHUTDOWN command. You can try adding the .log file later as you recover incrementally...

If no recovery then try to recover forms, tables and data incrementally:
Build an empty HSQLDB server-mode database by placing your Start_HSQLDB_Server.bat file in an empty folder.
Run it to build an empty data-file set.
Shutdown the HSQLDB server with your Stop_HSQLDB_Server.bat file in the same folder.
Rename these using only the file extension as the name, just like an embedded database found in the database folder of a .odb file.
Use your zip tool to empty the corrupted .odb "database" folder, and then move the empty database files into your corrupted .odb "database" folder using the zip tool.
Try a recovery using Base.

If you get a recovery and need the old table data.
Make a backup copy of the good .odb.
Get the data, script and log files from the corrupted .odb selectively replacing individual .script, .data, etc. in the new .odb.

And there's ways to move your corrupted .data, .log, and .script files to HSQLDB in server mode and create a 'backup script file' using SQL without using Base...

And there's a way to recover the database using HSQLDB recovery procedures.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    OOoForum.org Forum Index -> OpenOffice.org Base All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group