Skip to content

Writing A Driver

Jeff Bruemmer edited this page Mar 21, 2022 · 47 revisions

DEPRECATED

See the updated official docs: https://www.metabase.com/docs/latest/developers-guide/drivers/start.html

Old guide

So here's the scenario: you love Metabase. It's changed your life. But you have some data in Visual Fox Pro '98 database and you need to make charts with it, and it might be a while before the core Metabase team writes a driver for you. No problem! Writing one yourself is easy, and might even be fun, as this guide will hopefully show you.

IMPORTANT NOTE: Metabase driver architecture has changed significantly for the 0.32 release as part of a project to make it truly possible to ship 3rd party drivers as separate plugins. Make sure you're developing your driver against 0.32.0 or above to ensure future compatibility.

IMPORTANT NOTE 2: This guide is somewhat incomplete, and depending on community demand I will spend more time finishing it up.

IMPORTANT NOTE 3: Please don't skip right to whichever chapter you think will give you code to copy-pasta to write your driver. While Metabase drivers are often fairly small (some as little as 50 lines of code), it takes a lot of careful thought to decide what goes into those 50 lines. Take the time to learn how Metabase drivers work before trying to write one, and writing one will be much easier.

Table of Contents

This guide is broken out into several chapters, listed below. You should start by reading them in order, and skip over ones that aren't applicable (for example, you can skip the chapter about writing JDBC drivers if your database doesn't support JDBC.)

Clone this wiki locally