Base: "The database does not support relations."

When selecting Tools | Relationships... why might I get the following message?

image description

I’m seeing it after I create a new LO Base with a JDBC connection to my MariaDB database. I can connect to my tables, but when I select Tools | Relationships... I get this error message.

The funny thing is that I have another .odb file that connects to the very same database, with the same setup parameters (i.e. DataSource, JDBC driver class, User Name and Password) that properly shows the relationships diagram when I select Tools | Relationships....

There are two methods to connect to a MySQL/MariaDB database using JDBC. One method works perfectly. The other method appears to work, in that you can edit your tables, but it does not allow editing relationships, and furthermore linked sub-forms don’t work as expected.

So when setting up your connected database do not choose JDBC directly, rather first choose MySQL, then in the next screen choose JDBC and proceed from there.

image description

I have a more complete answer to document this here.

Notes

  • ODBC is broken with a known bug and has to my knowledge not yet been fixed.

  • Also I noticed that after upgrading to LO 5.3.0.3, the native MySQL connector option is gone.

  • And unlike MS Access the relationship editor when used w/ MySQL/MariaDB only appears to work with InnoDB database engine databases (i.e. it won’t work with ISAM databases.) In other words it does not allow table-to-table relationships to be set up unless there is underlying relationship support in the database engine. The reason one might want to connect to and use ISAM is because it is much faster than InnoDB, like for example if you are using it under a web site, and trying to use LO as a development front end.

I think that the answer of Easy Trieve is rather good already. Maybe it is of interest the type of table in the mysql DB or Maria DB.
For mysql that has to be innodb engine type.
So other types are not supported also not the default myisam type.

Good point. Yes, this also needs to be taken into account. In my case above they were both innodb, the one that worked and the one that failed.