Databricks OSS ODBC Driver
The Databricks OSS ODBC Driver, version 0.5.0, is in Beta. For information about the generally available version 2.x driver, see Databricks ODBC Driver documentation.
To report a problem or request a feature while the driver is in Beta, contact your Databricks account team.
The Databricks OSS ODBC Driver is an ODBC 3.8 driver for Databricks SQL and Lakehouse//RT warehouses. It is designed to be a compatible replacement for Databricks ODBC Driver version 2.x for supported workloads. Existing applications, DSNs, and connection strings that use common 2.x functionality should generally work without changes.
Requirements
The Databricks OSS ODBC Driver and Databricks ODBC Driver version 2.x use the same registered ODBC driver name, package identifiers, installation paths, and library names. Installing one version over the other replaces the existing installation. To switch drivers, reinstall the package for the version that you want to use.
The Databricks OSS ODBC Driver is supported on the following platforms:
Operating system | Package and architecture | Requirement |
|---|---|---|
Windows | MSI for x64 and x86 | The driver architecture must match the application architecture. |
macOS | Universal | macOS 13.3 or above. |
Linux |
| glibc 2.28 or above and a compatible ODBC driver manager. |
You also need the Server Hostname and HTTP Path for a Databricks SQL or Lakehouse//RT warehouse. See Get connection details for a Databricks compute resource.
Install the Databricks OSS ODBC Driver
- On the Databricks OSS ODBC Driver archive, download the Databricks OSS ODBC Driver version 0.5.0 for your operating system and architecture.
- Install the downloaded package:
-
On Windows, extract the download and run the 32-bit or 64-bit MSI. The installer registers Databricks ODBC Driver with the Windows ODBC Driver Manager.
-
On macOS, run
DatabricksODBC-<version>-macOS.pkg. -
On Linux, install the
.debor.rpmpackage and register the driver with unixODBC:Bashsudo odbcinst -i -d -f /opt/databricks/databricksodbc/Setup/odbcinst.ini
-
The driver libraries are installed in the same locations as version 2.x:
- Windows 64-bit:
C:\Program Files\Databricks ODBC Driver\lib\databricksodbc64.dll - Windows 32-bit:
C:\Program Files (x86)\Databricks ODBC Driver\lib\databricksodbc32.dll - macOS:
/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib - Linux 64-bit:
/opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so - Linux 32-bit:
/opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so
Configure a connection
Start with your existing 2.x DSN or connection string. Common properties such as Driver, Host, Port, HTTPPath, SSL, Catalog, and Schema are compatible. The driver also accepts common 2.x properties that are not needed on its HTTP transport so that existing DSNs can be reused.
To create a DSN or a DSN-less connection string with these settings, see Create an ODBC DSN for the Databricks ODBC Driver or Create an ODBC DSN-less connection string for the Databricks ODBC Driver.
For a new connection, use the properties in the following example. For a DSN, enter the same key-value pairs using your ODBC driver manager.
The following example uses OAuth user-to-machine (U2M) authentication. Line breaks are included for readability. Do not include them in the connection string:
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
AuthMech=11;
Auth_Flow=2;
Catalog=main;
Schema=default
The following authentication methods are supported:
Authentication method | Properties |
|---|---|
OAuth user-to-machine (U2M) |
|
OAuth machine-to-machine (M2M) |
|
OAuth token pass-through |
|
Databricks personal access token |
|
Migrate from version 2.x
- Review the known limitations for features used by your application.
- Record the installed 2.x version and back up your DSNs, connection strings, and driver configuration files.
- Install the Databricks OSS ODBC Driver.
- Reuse your existing DSN or connection string.
- Test connection creation, metadata discovery, prepared statements, parameter binding, cancellation, large result retrieval, and representative application workflows.
The Databricks OSS ODBC Driver can report more specific Databricks type names and declared decimal precision and scale than 2.x. Validate applications that compare metadata values exactly.
To roll back after replacing an installation, reinstall the required 2.x package and restore the backed-up configuration.
Known limitations
The following limitations apply while the driver is in Beta:
- The driver supports Databricks SQL and Lakehouse//RT warehouses. It does not support all-purpose compute.
- SQL is always sent directly to Databricks. The driver does not perform the SQL-92 translation available in 2.x.
UseNativeQueryis accepted for compatibility but does not change behavior. - Asynchronous execution through
SQL_ATTR_ASYNC_ENABLEandSQLCompleteAsyncis not supported. PUT,GET, andREMOVEoperations for files in Unity Catalog volumes are not supported.- Binary input parameters are not supported.
- Parameter arrays, including pyodbc
fast_executemanywith string and Unicode values, are supported, but the driver sends one execution request per row. - Large results use Cloud Fetch automatically and cannot be forced inline. Result retrieval supports Databricks SQL data types except
FILEandOBJECT. Complex values are returned as text. - HTTPS proxies support basic authentication, but not Kerberos or SPNEGO authentication.
- Certificate revocation configuration and encrypted mutual TLS private keys are not supported.
- Some advanced 2.x properties are not supported. The driver logs a warning when a property is not applied.