Cannot open an embedded Firebird Base file after upgrading LibreOffice to version 7.3.1

Hello: I have encountered a problem trying to open an existing Firebird embedded Base file after upgrading LO from an old version 7.0.6.2 to the latest available version 7.3.1 (MacOS_x86-64). The base file worked perfectly under the old version, but I cannot open it at all in the new version of LO. I cannot open any tables or queries or forms.

The error message given is:
firebird_sdbc error:
*arithmetic exception, numeric overflow, or string truncation
*string right truncation
*expected length 16, actual 22
*gds_$send failed
*Exiting before completion due to errors
caused by
‘isc_service_query’

Researching on Bugzila, I found a bug report that might be relevant, but it doesn’t seem to provide a solution:

Bug 144163 - LibreOffice 7.2 Firebird Embedded Base Error - field defined with 20 CHAR limit and containing more than 20 characters stored opens with 7.1, fails to open with 7.2

https://bugs.documentfoundation.org/show_bug.cgi?id=144163

Reverting to the old (previous) version of LO does fix the problem but is not really a long-term solution. Can anyone tell me what is going on and if there is any work around?

Reinstall LO 7.1 or 7.0. Open the database in this version. Have a look at the tables. There must be a field, which should contain 16 characters, but there are 22 characters in the field.

It is a bug of Firebird. Seems it couldn’t be solved by LO without switching back to an older version.

I have installed many different versions of LO. If you need help you could send me the database per private mail and I will have a look for the content, which has a length of 22 in a field, which should be limited to 16.

1 Like

Thank you both for your suggestions. RobertG was spot on. I found the problem table/column, and after I amended the field-length (in LO v.1.0) all was well when I switched to LO 7.3.

Two ways to solve the problem:

Either you have to make your column wider with help of the older LibreOffice, so it fits for the detected strings wich are to long… Then the table should be useable also in 7.2.++

Or you check on the old system, wich strings are to long and truncate this. As we obviously can’t trust older Firebase with counting utf8 this should be done externaly from firebase.

(I’d maybe try to combine both: Change the width, upgrade to the newer version and truncate in the newer version, according to now corrected char-count)

Your path may depend on the column being part of indexes, constraints or relations…