Use generic JDBC driver to access Datasource

Hi,
I'm running Metabase inside Docker on ubuntu 20.04.
I have a jdbc driver for accessing a storage called HPCCSystems.
The driver works fine, because I tested it with other clients and it connects and shows the tables in the storage.
I followed the instructions and put it in the /plugins folder, and restarted the container to get Metabase see the new driver.

The new driver does not show In the Create Database / Database Type dropdown list.
When looking at the logs, I can see that although it sees the new driver, it doesn't register/initialize the driver; it just adds it to the classpath.

2022-01-17 19:22:53,244 INFO plugins.classloader :: Added URL file:/plugins/hpccsystems.metabase-driver.jar to classpath

How can I connect to that source using this driver with Metabase?
Is the dropdown list the only way to add a database? or is there another way to define the connection?
I attach the complete startup log. There you can also see the application version and java version.

Thank you!

Metabase v0.41.5 (fbfffc6 release-x.41.x) ,
,
Copyright © 2022 Metabase, Inc. ,
,
Metabase Enterprise Edition extensions are NOT PRESENT.,
2022-01-17 19:22:50,819 WARN metabase.core :: WARNING: You have enabled namespace tracing, which could log sensitive information like db passwords.,
2022-01-17 19:22:50,819 INFO metabase.core :: Starting Metabase in STANDALONE mode,
2022-01-17 19:22:50,878 INFO metabase.server :: Launching Embedded Jetty Webserver with config: ,
 {:port 3000, :host "0.0.0.0"},
,
2022-01-17 19:22:50,961 INFO metabase.core :: Starting Metabase version v0.41.5 (fbfffc6 release-x.41.x) ...,
2022-01-17 19:22:51,001 INFO metabase.core :: System info:,
 {"file.encoding" "UTF-8",,
 "java.runtime.name" "OpenJDK Runtime Environment",,
 "java.runtime.version" "11.0.13+8",,
 "java.vendor" "Eclipse Adoptium",,
 "java.vendor.url" "https://adoptium.net/",,
 "java.version" "11.0.13",,
 "java.vm.name" "OpenJDK 64-Bit Server VM",,
 "java.vm.version" "11.0.13+8",,
 "os.name" "Linux",,
 "os.version" "5.4.0-62-generic",,
 "user.language" "en",,
 "user.timezone" "GMT"},
,
2022-01-17 19:22:51,003 INFO metabase.plugins :: Loading plugins in /plugins...,
2022-01-17 19:22:53,244 INFO plugins.classloader :: Added URL file:/plugins/hpccsystems.metabase-driver.jar to classpath,
2022-01-17 19:22:53,329 INFO plugins.dependencies :: Plugin 'Metabase BigQuery Driver' depends on plugin 'Metabase Google Drivers Shared Dependencies',
2022-01-17 19:22:53,332 INFO plugins.dependencies :: Metabase BigQuery Driver dependency {:plugin Metabase Google Drivers Shared Dependencies} satisfied? false,
2022-01-17 19:22:53,340 INFO plugins.dependencies :: Plugins with unsatisfied deps: ["Metabase BigQuery Driver"],
2022-01-17 19:22:53,353 INFO plugins.dependencies :: Metabase cannot initialize plugin Metabase Oracle Driver due to required dependencies. Metabase requires the Oracle JDBC driver in order to connect to Oracle databases, but we can't ship it as part of Metabase due to licensing restrictions. See https://metabase.com/docs/latest/administration-guide/databases/oracle.html for more details.,
,
2022-01-17 19:22:53,354 INFO plugins.dependencies :: Metabase Oracle Driver dependency {:class oracle.jdbc.OracleDriver} satisfied? false,
2022-01-17 19:22:53,355 INFO plugins.dependencies :: Plugins with unsatisfied deps: ["Metabase Oracle Driver" "Metabase BigQuery Driver"],
2022-01-17 19:22:53,363 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :presto-common...,
2022-01-17 19:22:53,365 INFO driver.impl :: Registered abstract driver :presto-common  🚚,
2022-01-17 19:22:53,414 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :snowflake...,
2022-01-17 19:22:53,415 INFO driver.impl :: Registered driver :snowflake (parents: [:sql-jdbc]) 🚚,
2022-01-17 19:22:53,434 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :druid...,
2022-01-17 19:22:53,436 INFO driver.impl :: Registered driver :druid  🚚,
2022-01-17 19:22:53,454 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :sqlserver...,
2022-01-17 19:22:53,455 INFO driver.impl :: Registered driver :sqlserver (parents: [:sql-jdbc]) 🚚,
2022-01-17 19:22:53,464 INFO plugins.dependencies :: Plugin 'Metabase Google Analytics Driver' depends on plugin 'Metabase Google Drivers Shared Dependencies',
2022-01-17 19:22:53,465 INFO plugins.dependencies :: Metabase Google Analytics Driver dependency {:plugin Metabase Google Drivers Shared Dependencies} satisfied? false,
2022-01-17 19:22:53,466 INFO plugins.dependencies :: Plugins with unsatisfied deps: ["Metabase Oracle Driver" "Metabase Google Analytics Driver" "Metabase BigQuery Driver"],
2022-01-17 19:22:53,542 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :hive-like...,
2022-01-17 19:22:53,543 INFO driver.impl :: Registered abstract driver :hive-like (parents: [:sql-jdbc]) 🚚,
2022-01-17 19:22:53,543 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :sparksql...,
2022-01-17 19:22:53,544 INFO driver.impl :: Registered driver :sparksql (parents: [:hive-like]) 🚚,
2022-01-17 19:22:53,550 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :google...,
2022-01-17 19:22:53,551 INFO driver.impl :: Registered abstract driver :google  🚚,
2022-01-17 19:22:53,552 INFO plugins.dependencies :: Metabase Google Analytics Driver dependency {:plugin Metabase Google Drivers Shared Dependencies} satisfied? true,
2022-01-17 19:22:53,552 INFO plugins.dependencies :: Metabase BigQuery Driver dependency {:plugin Metabase Google Drivers Shared Dependencies} satisfied? true,
2022-01-17 19:22:53,559 DEBUG plugins.initialize :: Dependencies satisfied; these plugins will now be loaded: ["Metabase BigQuery Driver" "Metabase Google Analytics Driver"],
2022-01-17 19:22:53,560 WARN plugins.lazy-loaded-driver :: Warning: plugin manifest for :bigquery does not include connection properties,
2022-01-17 19:22:53,560 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :bigquery...,
2022-01-17 19:22:53,561 INFO driver.impl :: Registered driver :bigquery (parents: [:sql :google]) 🚚,
2022-01-17 19:22:53,567 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :googleanalytics...,
2022-01-17 19:22:53,568 INFO driver.impl :: Registered driver :googleanalytics (parents: [:google]) 🚚,
2022-01-17 19:22:53,572 INFO plugins.dependencies :: Plugin 'Metabase Presto Driver' depends on plugin 'Presto Common Driver',
2022-01-17 19:22:53,573 INFO plugins.dependencies :: Metabase Presto Driver dependency {:plugin Presto Common Driver} satisfied? true,
2022-01-17 19:22:53,573 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :presto...,
2022-01-17 19:22:53,575 INFO driver.impl :: Registered driver :presto (parents: [:presto-common]) 🚚,
2022-01-17 19:22:53,590 INFO plugins.dependencies :: Plugin 'Metabase Presto JDBC Driver' depends on plugin 'Presto Common Driver',
2022-01-17 19:22:53,592 INFO plugins.dependencies :: Metabase Presto JDBC Driver dependency {:plugin Presto Common Driver} satisfied? true,
2022-01-17 19:22:53,593 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :presto-jdbc...,
2022-01-17 19:22:53,594 INFO driver.impl :: Registered driver :presto-jdbc (parents: [:presto-common]) 🚚,
2022-01-17 19:22:53,602 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :bigquery-cloud-sdk...,
2022-01-17 19:22:53,603 INFO driver.impl :: Registered driver :bigquery-cloud-sdk (parents: [:sql]) 🚚,
2022-01-17 19:22:53,611 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :sqlite...,
2022-01-17 19:22:53,612 INFO driver.impl :: Registered driver :sqlite (parents: [:sql-jdbc]) 🚚,
2022-01-17 19:22:53,619 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :mongo...,
2022-01-17 19:22:53,620 INFO driver.impl :: Registered driver :mongo  🚚,
2022-01-17 19:22:53,629 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :redshift...,
2022-01-17 19:22:53,632 INFO driver.impl :: Registered driver :redshift (parents: [:postgres]) 🚚,
2022-01-17 19:22:53,639 INFO plugins.dependencies :: Metabase cannot initialize plugin Metabase Vertica Driver due to required dependencies. Metabase requires the Vertica JDBC driver in order to connect to Vertica databases, but we can't ship it as part of Metabase due to licensing restrictions. See https://metabase.com/docs/latest/administration-guide/databases/vertica.html for more details.,
,
2022-01-17 19:22:53,640 INFO plugins.dependencies :: Metabase Vertica Driver dependency {:class com.vertica.jdbc.Driver} satisfied? false,
2022-01-17 19:22:53,640 INFO plugins.dependencies :: Plugins with unsatisfied deps: ["Metabase Oracle Driver" "Metabase Vertica Driver"],
2022-01-17 19:22:53,641 INFO metabase.core :: Setting up and migrating Metabase DB. Please sit tight, this may take a minute...,
2022-01-17 19:22:53,647 INFO db.setup :: Verifying postgres Database Connection ...,
2022-01-17 19:22:53,853 INFO db.setup :: Successfully verified PostgreSQL 14.1 (Debian 14.1-1.pgdg110+1) application database connection. ✅,
2022-01-17 19:22:53,855 INFO db.setup :: Running Database Migrations...,
2022-01-17 19:22:53,900 INFO db.setup :: Setting up Liquibase...,
2022-01-17 19:22:54,058 INFO db.setup :: Liquibase is ready.,
2022-01-17 19:22:54,060 INFO db.liquibase :: Checking if Database has unrun migrations...,
2022-01-17 19:22:55,894 INFO db.liquibase :: Database has unrun migrations. Waiting for migration lock to be cleared...,
2022-01-17 19:22:55,909 INFO db.liquibase :: Migration lock is cleared. Running migrations...,
2022-01-17 19:22:55,932 INFO db.setup :: Database Migrations Current ...  ✅,
2022-01-17 19:22:55,963 INFO db.data-migrations :: Running all necessary data migrations, this may take a minute.,
2022-01-17 19:22:55,985 INFO db.data-migrations :: Finished running data migrations.,
Database setup took 2.3 s,
2022-01-17 19:22:56,585 INFO metabase.events :: Starting events listener: :metabase.events.dependencies/Dependencies 👂,
2022-01-17 19:22:56,607 INFO metabase.events :: Starting events listener: :metabase.events.activity-feed/ActivityFeed 👂,
2022-01-17 19:22:56,679 INFO metabase.events :: Starting events listener: :metabase.events.metabot-lifecycle/MetaBotLifecycle 👂,
2022-01-17 19:22:56,681 INFO metabase.events :: Starting events listener: :metabase.events.last-login/LastLogin 👂,
2022-01-17 19:22:56,681 INFO metabase.events :: Starting events listener: :metabase.events.notifications/Notifications 👂,
2022-01-17 19:22:56,681 INFO metabase.events :: Starting events listener: :metabase.events.sync-database/Sync 👂,
2022-01-17 19:22:56,682 INFO metabase.events :: Starting events listener: :metabase.events.driver-notifications/DriverNotifications 👂,
2022-01-17 19:22:56,682 INFO metabase.events :: Starting events listener: :metabase.events.revision/Revisions 👂,
2022-01-17 19:22:56,683 INFO metabase.events :: Starting events listener: :metabase.events.view-log/ViewLog 👂,
2022-01-17 19:22:57,843 INFO metabase.task :: Initializing task SyncDatabases 📆,
2022-01-17 19:22:58,168 INFO metabase.task :: Initializing task CheckForNewVersions 📆,
2022-01-17 19:22:58,334 INFO metabase.task :: Initializing task SendAnonymousUsageStats 📆,
2022-01-17 19:22:58,361 INFO metabase.task :: Initializing task SendAbandomentEmails 📆,
2022-01-17 19:22:58,393 INFO metabase.task :: Initializing task SendPulses 📆,
2022-01-17 19:22:58,428 INFO metabase.task :: Initializing task SendFollowUpEmails 📆,
2022-01-17 19:22:58,481 INFO metabase.task :: Initializing task TaskHistoryCleanup 📆,
2022-01-17 19:22:58,548 INFO driver.impl :: Initializing driver :sql...,
2022-01-17 19:22:58,549 INFO driver.impl :: Initializing driver :sql-jdbc...,
2022-01-17 19:22:58,550 INFO driver.impl :: Initializing driver :postgres...,
2022-01-17 19:22:58,567 INFO metabase.core :: Metabase Initialization COMPLETE

Hi @rfernandez2007
Metabase does not work with generic JDBC drivers. It needs an additional translation layer, so Metabase can talk with it.
https://www.metabase.com/docs/latest/developers-guide-drivers.html

1 Like

Ohh, I'm sorry to hear that :cry:
Seems quite a limitation.
It's not that there aren't a lot of drivers already, but not having a generic connectivity driver, say JDBC/ODBC is a bit constraining, in this growing open world in which we wander. :slightly_smiling_face:
But, as I like the tool I'll find my way around. Perhaps move some data to a supported RDB, for analysis or something alike.
Thank you very much for your answer!