Hi there,
we try to connect Metabase with Exasol database and are following the official documentation to install metabase driver from Exasol within the docker image.
When we enter this connection details we get the following error: No method in multimethod ‘connection-details->spec’ for dispatch value: :exasol
In the logs I read:
2025-07-15 07:09:21,636 INFO driver.impl :: Initializing driver :exasol…
2025-07-15 07:09:21,638 INFO classloader.impl :: Added URL file:/plugins/exasol.metabase-driver.jar to classpath
2025-07-15 07:09:21,640 DEBUG plugins.init-steps :: Loading plugin namespace metabase.driver.exasol…
2025-07-15 07:09:21,783 ERROR driver.util :: Failed to connect to Database
clojure.lang.ExceptionInfo: null {:classloader #object[clojure.lang.DynamicClassLoader 0x2db2a05f “clojure.lang.DynamicClassLoader@2db2a05f”], :classpath-urls (“file:/plugins/exajdbc.jar” “file:/plugins/exasol.metabase-driver.jar”), :system-classpath (“/app/metabase.jar”)}
…
Caused by: java.io.FileNotFoundException: Could not locate metabase/config__init.class, metabase/config.clj or metabase/config.cljc on classpath.
Any help is appreciated, Thanks
Hi kochjoe,
from the error message it sounds very much like at least one of the required files is not in the classpath.
In the troubleshooting section of our Metabase driver this error message is mentioned should any of the required files be missing (see metabase-driver/doc/user_guide/user_guide.md at main · exasol/metabase-driver · GitHub). Please also check the access permissions on your filesystem to make sure that Metabase is allowed to read those files.
If this does not solve your problem, please provide a directory listing of the /plugin directory.
Best,
Sebastian
Dear Sebastian,
thanks for your reply. Both files are within the /plugins directory:
da8c4ddcebf5:/plugins# ls -l
total 291544
-rw-r–r-- 1 metabase metabase 28054833 Jun 30 16:09 athena.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 45988491 Jun 30 16:09 bigquery-cloud-sdk.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 2801797 Jun 30 16:09 clickhouse.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 22285764 Jun 30 16:09 databricks.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 8025854 Jun 30 16:09 druid-jdbc.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 527330 Jun 30 16:09 druid.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 10920238 Jun 20 12:45 exajdbc.jar
-rw-r–r-- 1 metabase metabase 78129 Jul 9 09:03 exasol.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 44147180 Jun 30 16:09 hive-like.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 3379961 Jun 30 16:09 mongo.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 144575 Jun 30 16:09 oracle.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 14061902 Jun 30 16:09 presto-jdbc.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 2277671 Jun 30 16:09 redshift.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 3497984 Jun 30 16:05 sample-database.db.mv.db
-rw-r–r-- 1 metabase metabase 83000212 Jun 30 16:09 snowflake.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 69146 Jun 30 16:09 sparksql.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 14414437 Jun 30 16:09 sqlite.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 1661288 Jun 30 16:09 sqlserver.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 13058790 Jun 30 16:09 starburst.metabase-driver.jar
-rw-r–r-- 1 metabase metabase 84632 Jun 30 16:09 vertica.metabase-driver.jar
Kind regards
Jörg
Note: When I unpack the exasol.metabase-driver.jar I see that the config.clj file is not in the directory metabase/config.clj but metabase/driver/config.clj. Does it make sense to unpack it and move the file to metabase/ dir?
That looks like the right owner and permissions to me.
Closure is not a programming language I am familiar with (although it is a bit similar to LISP). I looked into the main driver file metabase-driver/src/metabase/driver/exasol.clj at main · exasol/metabase-driver · GitHub and don’t find a mention of the config class.
Also, the installation instructions don’t mention putting an extra config somewhere. I don’t think unpacking should be required.
The colleague who wrote the driver will be back next week. I am going to ask him to give you a hand.
I talked to @Christoph.Pirkl, the author of our connector. He said what you are experiencing is most likely an incompatibility with the latest version of Metabase.
Interest around the Metabase connector was a bit quiet lately, so we invested our capacity in other projects. But we need an update for internal purposes anyway, so he is going to look into what has changed.
I also checked which version the Metabase server is that I can see and that is v0.50.30
(built on 2024-10-15), so if you want, you can try the older version until we are done with the update.
@kochjoe Today we released version 1.0.8 of the driver that supports Metabase 0.50.x. Please try if it works for you. We are working on upgrading to the latest Metabase version, but this will take some time.
Please note that due to a bug the driver reports its version as 1.0.7 in the log. But you can verify that the new version is used by checking that the Metabase log does not contain these log messages:
WARN sql-jdbc.execute :: connection-with-timezone is deprecated in Metabase 0.47.0. Implement do-with-connection-with-options instead.