- Notifications
You must be signed in to change notification settings - Fork22
databricks/databricks-jdbc
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The Databricks JDBC driver implements the JDBC interface providing connectivity to a Databricks SQL warehouse.Please refer toDatabricks documentation for moreinformation.
Databricks JDBC is compatible with Java 11 and higher. CI testing runs on Java versions 11, 17, and 21.
Add the following dependency to yourpom.xml:
<dependency> <groupId>com.databricks</groupId> <artifactId>databricks-jdbc</artifactId> <version>3.0.3</version></dependency>
- Clone the repository
- Run the following command:
mvn clean package
- The jar file is generated as
target/databricks-jdbc-<version>.jar - The test coverage report is generated in
target/site/jacoco/index.html
jdbc:databricks://<host>:<port>;transportMode=http;ssl=1;AuthMech=3;httpPath=<path>;UID=token;PWD=<token>The JDBC driver supports the following authentication methods:
UseAuthMech=3 for personal access token authentication:
AuthMech=3;UID=token;PWD=<your_token>UseAuthMech=11 for OAuth2-based authentication. Several OAuth flows are supported:
Direct use of an existing OAuth token:
AuthMech=11;Auth_Flow=0;Auth_AccessToken=<your_access_token>Configure standard OAuth client credentials flow:
AuthMech=11;Auth_Flow=1;OAuth2ClientId=<client_id>;OAuth2Secret=<client_secret>Optional parameters:
AzureTenantId: Azure tenant ID for Azure Databricks (default: null). If enabled, the driver will include refreshedAzure Active Directory (AAD) Service Principal OAuth tokens with every request.
Interactive browser-based OAuth flow with PKCE:
AuthMech=11;Auth_Flow=2Optional parameters:
OAuth2ClientId- Client ID for OAuth2 (default: databricks-cli)OAuth2RedirectUrlPort- Ports for redirect URL (default: 8020)EnableOIDCDiscovery- Enable OIDC discovery (default: 1)OAuthDiscoveryURL- OIDC discovery endpoint (default: /oidc/.well-known/oauth-authorization-server)EnableSQLValidationForIsValid- Enable SQL query based validation inisValid()connection checks (default: 0)
The driver supports both SLF4J and Java Util Logging (JUL) frameworks:
- SLF4J: Enable with
-Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGER - JUL: Enable with
-Dcom.databricks.jdbc.loggerImpl=JDKLOGGER(default)
For detailed logging configuration options, seeLogging Documentation.
Basic test execution:
mvntestNote: Due to a change in JDK 16 that introduced a compatibility issue with the Apache Arrow library used by the JDBCdriver, runtime errors may occur when using the JDBC driver with JDK 16 or later. To avoid these errors, restart yourapplication or driver with the following JVM command option:
--add-opens=java.base/java.nio=org.apache.arrow.memory.core ALL-UNNAMEDFor more detailed information about integration tests and fake services, seeTesting Documentation.
For more information, see the following resources:
About
JDBC for Databricks SQL
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.