Failed connection to MySQL database

What can have gone wrong here?

I connect daily to a MySQL database (Mariadb10) located on a network server from
the LO-Base front-end on my desktop. The connection type is
MySQL(JDBC). However, today, the

driver class com.mysql.jdbc.Driver could not be loaded

There seems to be no way to make the connection, although I am not aware of having changed anything (except maybe an update from the OpenSUSE repository early this week)
I can access the database via my browser using phpMyAdmin, so, I assume, there is
nothing wrong with the database schemata themselves.

What must I do to get the database connection working again? Note: If I were to create another .odb with a different connection, e.g. ‘direct’, I would lose all macros, queries, forms, reports stored in the currently inaccessible .odb schemata

Version: 7.3.4.2 / LibreOffice Community
Build ID: 30(Build:2)
CPU threads: 2; OS: Linux 5.14; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-GB
Calc: threaded

@hnimmo:

Is, within the LibreOffice setup, in the “Advanced” section, a Java Runtime Environment selected and active?

Are all of the required LibreOffice packages correctly installed?

 # zypper verify
 # rpm --verify --all
1 Like

Yes, JRE is activated and shows vendor and versionOracle Corporation 11.0.19

# zypper verify
...
Dependencies of all installed packages are satisfied.
# rpm --verify --all
...
missing     /usr/lib64/libreoffice/program/intro-highres.png
missing     /usr/lib64/libreoffice/program/shell/logo.svg
missing     /usr/lib64/libreoffice/program/shell/logo_inverted.svg
...

…the rest looks OK, and the above can’t be relevant for the Base problem…hmmm
Aren’t these checked after login after boot anyway?

@hnimmo:

This recipe: <https://ask.libreoffice.org/t/how-do-i-set-up-a-jdbc-connector-for-mariadb-or-mysql-in-base/21360/14>

1 Like

For the moment, I have discovered that the name of the file referred to in the Class Path (or the actual file name) had been changed - not by me, but possibly during the course of recent repository updates.
All works as before. I would not have noticed it without your inputs, especially the ‘recipe’ above. so many thanks for the tips!

For the moment, I won’t experiment with the mariadb connectors until I have made sure that Plan Bs are in place.

Hello,
the mysql-connector-java-8.0.32-150200.3.15.1.noarch package contains the driver
/usr/share/java/mysql-connector-j.jar
the name of the last version was mysql-connector-java.jar

the Java settings in LO (extended) for the java-classpath have to be changed

greetings
bmk555

1 Like

Yes, thanks. All is working well with again now after that correction.

@bmk555:

First – welcome to the openSUSE Forums.

Yes, that package contains the MySQL Connector but, “hnimmo” is using the MariaDB –

  • The question is, will the MySQL Connector be reliable enough when used with a MariaDB instance or, will the MariaDB Connector .jar file have to be downloaded from the MariaDB site?
    «There ain’t no openSUSE package containing the MariaDB connectors … »

I’ll ask at the conference either later today or tomorrow …

1 Like

Hello,

from the openSUSE-Repo (i.e. zypper or YAST Software) you get only the mysql-JDBC-driver ond the mariadb-ODBC_driver.

When using the mariadb-JDBC-driver, you have to download it from Download MariaDB Connectors for data access & analysis | MariaDB
and manually copy (as rppt) to /usr/share/java/mariadb-java-client-3.1.4.jar.

Before the driver can be used, it must be registered in LO → Options → Extended ->Java-Classpath

The connection-params are for mysql:
mysql://localhost/ and com.mysql.jdbc.Driver
and for mariadb:
mariadb://localhost/ and org.mariadb.jdbc.Driver

Configuring LO for database-connections has a special entry for JDBC(mysql) and not for mariadb.
so the most users will take the mysql-driver.

gretings bmk555

2 Likes

@bmk555:

Yes, that’s what we figured out at the Conference this afternoon –

  • Java – owned by Oracle.
  • MySQL – owned by Oracle.

The MySQL Java class for the JDBC driver Connector is, at the end of the day a Java class and, it may well, therefore, function with MariaDB which also understands MySQL but, the reliability may well not be as good as that for the case that, the MariaDB Connector Java Class is used …

1 Like