OpenOffice file: The database was created by a newer version of LibreOffice

I have a .odb database, created in OpenOffice a couple years ago, with associated .odt files that use the database. Under LibreOffice 5.1.5.2, I get the error “The connection to the data source “Catalog” could not be established. The connection could not be established. The database was created by a newer version of LibreOffice.” How do I fix my database so I can use it again?

A bit more information - the file opens fine in OpenOffice 4.0.1 under WinXP. I’m trying to use it in LibreOffice 5.1.5.2 under Ubuntu.

Ciao, probably you need to register the database in LibreOffice: Tools> Options> LibreOffice Base> New …

If my answer helped you, vote it with :heavy_check_mark: and with ∧ (here on the left)

It’s already registered.

I actually posted an answer for this and deleted it on second thought because I believed it may have been wrong. I also didn’t have a fix for it.

I’ve caused this condition a couple of times when testing using HSQL in a server mode or playing around with v2.3 in an embedded environment and playing around with path settings and even opening it with Open Office if it had a newer HSQL. Once you open an embedded .odb with a HSQL version other than 1.8 it becomes unusable once closed; even when immediately opened after closing it. I have found no way to recover this as an embedded .odb (other than with backup). However there is a way to recovery. Turn it into a split DB.

  • Using the broken .odb, use an archive manager to extract the files to another directory (line added 12/12/16)
  • Create new directory.
  • Place copy of extracted database folder into this new directory
  • Re-name database files backup, data, properties and script to your DB name choice (ie: mydb.backup, mydb.data, etc.)
  • Create subfolder named driver in this new directory
  • From this post get hsqldb.jar v2.3.x and sqltool.jar and place in driver subfolder
  • From same post, get split wizard .odb and place in main folder
  • Run wizard and table(s) should be available
  • Finally, with new DB open, run old broken .odb - can’t access tables but rest (forms, queries, reports) can be copied and pasted into new DB.

Recovery should be complete.

Edit 12/12/2016: Just discovered how to get embedded DB working again if that is really wanted. You must first follow the above process. That is needed to get actual working tables.

Use a copy of the bad embedded DB. Using a valid embedded DB, open .odb with an archive manager, then in the database folder, copy the information in the properties file (right click & open with text editor) and completely replace the information in the bad properties file. Save the change. Update the Archive. Now for the script file. The objective of changing the script file is only to get one where the access to the tables section is permitted.

Edit the script file (right click & open with text editor) of the bad .odb (in database folder) and delete all lines EXCEPT the following:

SET DATABASE COLLATION "Latin1_General"
CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 0 MILLIS

Save file and Archive and close all. Now open the repaired embedded .odb and the newly created (from first procedure) split DB’s. Copy the tables from the split and paste in embedded. Once done, embedded will function again.

This is a somewhat meticulous process, and somewhat daunting, but by using copies of files and care in following the procedure the process works.

FYI - The script file contains the details of the tables used. The properties file contains the information of the HSQL being used.

This is a very good solution for retrieving the tables and queries, and many thanks for that. You saved me from a horrible fate. However, the reports still cannot be opened. They kick out a “document could not be opened” error. Will continue to ask around and see if a fix exists for this.

@Davewrennie Very glad you got a usable result. I don’t remember having any problems with reports. In your process of the above, did you just go form broken .odb to split or all the way back to an embedded? Did you do a copy & paste of the report(s) from original .odb?