Is "server mode" the only way to run and access a LO/HSQLDB split-database over a home network even if there is just 1 user?

Somewhat new to LibreOffice, so hope my post makes sense.

In other words, if there are just two computers on the network, say A and Z, and concurrent access is not needed, does the LO/HSQLDB split-database on computer Z still need to be run in “server mode” to be accessed using LO macros on computer A?

It seems every tutorial on server mode mentions it’s for concurrent access, which I don’t need. There would only be one user, me.

For background, both computers are shared on the network, and both currently have LO on them and I have a nice system on each computer using Calc, macros, and a Base/HSQLDB split-database that is scraping websites for data and storing it. Both run for a couple hours in the morning and are done by noon. It would just be handy if during the afternoon macros on A could access the database on Z.

I’ve tried registering the database on computer Z from computer A using Tools=>Options=> LO Base=>Databases, and I can select the Z database from the A registration window. However, I’m not able to access the Z database using LO macros on the A computer, and instead get an error message. Below is the db connection part of the macro:

Context=createUnoService(“com.sun.star.sdb.DatabaseContext”)
DB=Context.getByName(“TestDB111”)
Conn=DB.GetConnection ("","")

The macro stops on the line above and I get the error below:

errorpic

Oddly, the drive letter above shows up as “C”, even though computer Z is actually mapped as “Z”, and I registered it as Z in the Registered Databases window. I’d show a picture but new users are only allowed one picture, so here it is copied/pasted:
Z:\LibreBase\TestDB111\TestDB111.odb

Again, it seems every tutorial on server mode states its for concurrent use, which I don’t need as mentioned above. Of course if I have to learn about server mode I will, but if it’s not necessary and there’s a simpler method for a single user on a home network that would be great.

Thanks,
Rob

  1. The driver file specified in the last line of the error message can’t be found. This has nothing to do with the location of your database.
  2. The default user name of a HSQLDB is “SA” (system admin).
    menu:Edit>Database>Properties… lets you edit the connection URL and user without running any macros. However, there is no GUI to specify the driver path.
    FreeHSQLDB v.0.3 is a macro with a little GUI where you can click a working connection to HSQLDB files. The file pickers should work with Windows network drives.

Hi Villeroy, thanks for answering.

The hsqldb.jar file that the error message above says is missing is actually there. It was part of the folder/file “bundle” that the Split-database wizard created and put there
([Wizard] Create a new 'split' HSQL 2.x database (View topic) • Apache OpenOffice Community Forum).

Here’s a screenshot from computer “Z” to show the jar file is there:
dirpic

Also, I did put in “SA” for ID, but still get the same error. Actually, each computer setup has been running daily for over a week now without the “SA” for the user ID.

However, it sounds like from your answer I “should” be able to access the database on “Z” from computer “A” without having to use server mode to do it?

Is it possible I’m getting this error because “A” is a 32-bit setup and “Z” is a 64-bit setup?

Some interesting results from additional tests:

I “changed directions” and tried to access a split-database on A from Z, no go.

I then quickly created embedded (non-split) databases on both computers A and Z.

I tried to access the embedded database on Z from A, no go.

I tried to access the embedded database on A from Z, that worked!!

Again, A is the 32-bit, Z is the 64-bit.

So, from my newbie LO perspective, it looks like if one computer is 32-bit and the other is 64-bit, one can only access embedded databases across a network, not split-databases. And directionally it has to be from the 64-bit to the 32-bit computer.