Clients & tools
JDBC driver

JDBC driver

Thunderduck speaks to JDBC clients — DataGrip, DBeaver, IntelliJ, anything that takes a driver jar — through a driver that submits SQL to the API and polls for results.

Download

The driver is published on Maven Central as io.thunderduck:thunderduck-jdbc (opens in a new tab).

  • SQL tools (DataGrip, DBeaver, IntelliJ): download the jar from that page and add it as a custom driver.
  • JVM applications: add the dependency. The example shows the current version; the Maven Central page always shows the newest one.
<dependency>
  <groupId>io.thunderduck</groupId>
  <artifactId>thunderduck-jdbc</artifactId>
  <version>0.1.0</version>
</dependency>
implementation("io.thunderduck:thunderduck-jdbc:0.1.0")

Connection

jdbc:thunderduck://api.thunderduck.ai

Authenticate with an API token created in the console (Settings → API tokens). Use the token as the password; the username is ignored.

Addressing

Exactly as everywhere else — three parts, with the middle part depending on the catalog type:

SELECT * FROM sales_pg.public.orders LIMIT 100;
SELECT * FROM lake.default.events LIMIT 100;

Two-part names (schema.table) also resolve when unambiguous across your catalogs, which is what makes schema browsing work in tools that assume a single database.

What tools should expect

  • Metadata browsing works: catalogs, schemas and tables come from the metadata Thunderduck already collected, so expanding a tree does not hit your databases.
  • Results are paged. The driver fetches a page at a time rather than streaming, so a large result set arrives in chunks.
  • Long queries are polled, not held open, so a client timeout does not cancel the query.

Token hygiene

A token carries your company and your user. Create one per tool so you can revoke a laptop without breaking your BI server, and prefer read-only tokens for anything that only reads.