i try to add the AS400 / IBM i DB2 Driver for Metabase
Step 1: I clone the Metabase repository and change the directory to the folder in which i cloned the Metabase Git repository
git clone https://github.com/metabase/metabase.git
cd /path/to/cloned_metabase_repository
Step 2: Run the following command to install prerequisites for building drivers
lein install-for-building-drivers
Step 4: I changed the directory to the DB2 driver repository that you just cloned and run the following commands to build the DB2 driver:
lein clean
DEBUG=1 LEIN_SNAPSHOTS_IN_RELEASE=true lein uberjar
Applying task uberjar to []
Applying task javac to nil
Running javac with [-target 1.8 -source 1.8 @/tmp/.leiningen-cmdline1894825082081987338.tmp]
Applying task compile to nil
Compiling metabase.driver.db2
Syntax error compiling at (metabase/driver/db2.clj:112:1).
Syntax error compiling at (metabase/driver/db2.clj:112:1).
No such var: driver/date-add
Full report at:
/tmp/clojure-6001965880117386123.edn
Compilation failed: Subprocess failed
Hi @Zekura
You should try using a specific branch like release-x.38.x instead of master, which is the upcoming major version (currently 0.39.0)
And make sure that the driver is compatible with the branch.
@Zekura I haven’t seen that error before. Seems like something is not working completely as it should.
But it’s a warning - and it’s related to the H2 Sample Dataset, so you can ignore that and remove that database.
Step 2: Run the following command to install prerequisites for building drivers
lein install-for-building-drivers
Step 3: I create the plugins folder with db2-driver-1.0.38.jar (from : hhttps://github.com/damienchambe/metabase-db2-driver/releases/tag/1.0.38) & jt400.jar
mkdir -p /path/to/metabase/plugins/
Step 4: Start the frontend build process with
yarn build-hot
Step 5: Run your backend development server with
lein run
Step 6: Add this additional JDBC properties to be able to use date and time when i configure “Add your data”
but i have this error message when i try to connect to my db2:
2021-03-12 11:42:05,895 DEBUG middleware.log :: POST /api/setup/validate 400 113,6 ms (0 DB calls)
{:errors {:dbname "Internal driver error. (com.ibm.as400.access.ClientAccessDataStream cannot be cast to com.ibm.as400.access.DBReplyRequestedDS)"}}
And if i try this time with
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
i have this error
{:errors
{:dbname
"Internal driver error. (class com.ibm.as400.access.ClientAccessDataStream cannot be cast to class com.ibm.as400.access.DBReplyRequestedDS (com.ibm.as400.access.ClientAccessDataStream and com.ibm.as400.access.DBReplyRequestedDS are in unnamed module of loader clojure.lang.DynamicClassLoader @226b143b))"}}
Has anyone answered this issue. We have the same problem, Metabase just sits and spins trying to sync with the AS400. I tried using a profile with access to only one data library and that doesnt help,