Dremio JDBC Driver
The legacy Dremio JDBC driver is included as a part of Dremio installations under
<DREMIO_HOME>/jars/jdbc-driver/. The main JAR Class is
com.dremio.jdbc.Driver. You can also download the JDBC driver from here. This driver is licensed under Apache-2.0.
It is recommended to use the JDBC driver for Arrow Flight SQL, rather than this legacy JDBC driver.
A new version of the JDBC driver is made available with every release of Dremio software. However, this doesn't mean changes or new features were introduced in a driver release. Only when actual changes are made to a driver will the JDBC driver release notes be published.
Tip: To distribute query planning for JDBC connections, configure secondary coordinator nodes for your deployment.
Supported Authentication Methods
- Use the username and password of the Dremio account that you want to connect with.
- Use a username and personal access token (PAT). To generate a PAT, see Personal Access Tokens.
You can set up the JDBC driver in the following manner:
- Connect directly to the Dremio server
- Connect to the Dremio server via Zookeeper
Connecting directly to Dremio
The following configuration establishes a direct connection to a Dremio coordinator node. Planning is done on the specified node.Connect directly to Dremio coordinator node
Connecting to ZooKeeper
The following configuration establishes a distributed connection to Dremio coordinator nodes through a Zookeeper quorum. Planning is distributed across the available coordinator nodes.Connect to Dremio coordinator node with ZooKeeper
Multiple Dremio Clusters in the same ZooKeeper QuorumCluster A
JDBC Parameters for Dremio Wire Encryption
If you are setting up encrypted communication between your ODBC/JDBC client applications and the Dremio server, use the SSL JDBC connection parameters and fully qualified host name to configure the JDBC connection string and connect to Dremio.
|ssl||true/false||[Optional]||If true, SSL is enabled. If not set or set to false, SSL is not enabled.|
|trustStoreType||string||[Optional]||Default: JKS The trustStore type. Allowed values are : JKS PKCS12 |
If the useSystemTrustStore option is set to true (on Windows only), the allowed values are: Windows-MY Windows-ROOT
Import the certificate into the Trusted Root Certificate Authorities and set
Also import the certificate into Trusted Root Certificate Authorities or Personal and set
|trustStore||string||[Optional]||Path to the truststore. |
If not provided, the default Java truststore is used (usually $JAVA_HOME/lib/security/cacerts) and the trustStorePassword parameter is ignored.
|useSystemTrustStore||true/false||[Optional]||By default, the value is |
|trustStorePassword||string||[Optional]||Password to the truststore.|
|disableHostVerification||true/false||[Optional]||If true, Dremio does not verify that the host in the certificate is the host we are connecting to. False by default. |
(Hostname verification follows the specification in RFC2818)
|disableCertificateVerification||true/false||[Optional]||If true, Dremio does not verify the host certificate against the truststore. False by default.|
Optional Advanced JDBC Driver Properties
|impersonation_target||string||When inbound impersonation is configured, |
|routing_queue||string||Specifies the queue to use for processing queries while a connection is open. For more information, see Query Tagging & Direct Routing Configuration.|
|routing_tag||string||Sets a tag for rule processing. The specified tag is associated with all queries executed while a connection is open. Rules can check for the presence of a tag with the function |