How to unzip ODB file and edit the content.xml file to fix Firebird bug?

I’m attempting to unzip an ODB file and manually edit the content.xml file on MacOS. For some reason the built-in Archive Utility will not unzip the ODB file.

Hello,

Edit:

Please note that this question and answer were in direct response to comments on this post → firebird_sdbc error.

End Edit

Instead of editing the content.xml file here may be a quicker method. Running from a macro.

If you are having problems with a resolution to Bug #117053, Firebird files created with parameter name substitution disabled, this may be a solution for you.

I have created a simple extension with the necessary macro code to fix the problem. Download the extension:

The file needs to be renamed from:

FireBirdParameterFix.odt

to

FireBirdParameterFix.oxt

as this site doesn’t allow this extension to be downloaded (HUH!???!!).

Extension to download ----- FireBirdParameterFix.odt

Don’t forget to rename!

Then just install the extension. On most systems you can just double click the file & the install will begin. If not, install from any open document from the menu → Tools->Extension Manager...

Select the Add button and point to the above .oxt file. This installs the necessary macro in MyMacros.

Close any and ALL LibreOffice files. Open the problem Firebird Base file. On the main screen run a macro from the menu → Tools->Macros->Run Macro...

Under Library section, click on + left of MyMacros. Find FireBirdParameterFix and click on that +:

Left mouse click on Module1 and Macro Name section will have entries. Double click on Main. This runs the macro & a message box will appear. It will say Fixed! That is it! Check your form. You may uninstall the extension or leave it for fixing other Firebird Base files.

This worked as advertised! Thank you so much for this. I wonder what it will take for the bug to get squashed. Your solution is getting close to a year old.

If you look a the Bug report, it may not be fixed.

I followed the instructions above and it worked perfectly! Thank you!! FYI for anyone else interested, I’m not using Firebird but instead using JDBC to connect to SQL server on Azure, and this fixed worked perfectly for me too.

I apologize for commenting on such an old post. However, I found this in a search for a solution to Firebird not liking subform connections. I have an old base app that I had tried to convert and remembered that it had this problem. I downloaded and tried to use the extension file. It threw an error on “ThisComponent” line of Object not defined. I fiddled with the code a bit and changed: “Currentcontroller” to “CurrentController” and it ran just fine! So now I can use my form with a subform.

I am going to guess that it happened to me because I use Linux Mint 20.2. I used it in LO 7.1.5.2. I don’t know how many folks browse these old posts to solve problems, but, I thought I would let you know in case you feel like updating it. I know Firebird has fallen out of favor for the time being and the whole thing may be moot.
-hink

Do not know where you got that from. Just checked code on my system and also downloaded the .oxt file and checked that. Fount it in neither. Here is the code:

Option Explicit

 Sub ensureConnection()
  Dim DBDocUI as Object
   on error resume next
   'XRay ThisComponent
   DBDocUI = ThisDatabaseDocument.currentController
   if not DBDocUI.isConnected then
       DBDocUI.connect
   end if
   on error goto 0
 End Sub
 
 Sub Main
  ensureConnection()
Rem Line changed so it may run from MyMacros
Rem ThisDatabaseDocument.DataSource.Settings.ParameterNameSubstitution = false
    ThisComponent.DataSource.Settings.ParameterNameSubstitution = true
    MsgBox "Fixed!"
End Sub 

Just tested on Ubuntu Release 20.04.3 LTS (Focal Fossa) 64-bit and had no problem.

This is also the same code from the bug report - tdf#117053 (comment #15) which I used as the basis for the extension to make things easier for others.