ODBC
Dremio provides ODBC drivers for the following operating systems:
note:
A new version of the ODBC 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 ODBC driver release notes be published.
note:
Tip: To distribute query planning for ODBC and JDBC connections, configure secondary coordinator nodes for your deployment.
ODBC Parameters for Dremio wire encryption
If you are setting up encrypted communication between your ODBC/JDBC client applications and the Dremio server, use the following connection parameters to enable a connection with Dremio through an ODBC tool.
Note:
The Dremio ODBC driver does not support password-protected
.pem
/.crt
files or multiple.crt
certificates in a single.pem
/.crt
file.The SSL parameters in the following table are not required.
Primary connection parameters
Use these parameters to configure basic connection details, such as what data source to connect with.
Name | Default Value | Description |
---|---|---|
Host | localhost | Sets the IP address or hostname for the Dremio server. Note: A value is required if the |
ConnectionType | Direct | Controls whether the driver should connect to a single Dremio server or ZooKeeper Quorum cluster. Accepted values are:
|
Port | 31010 | Sets the TCP port number the Dremio server uses to listen for client connections. |
ZKClusterID | coordinator | Specifies the name of the ZooKeeper Quorum cluster that the driver connects to. Note: When a configuration uses |
AuthenticationType | No Authentication | Controls how the driver authenticates connections to Dremio. Accepted values include:
Note: Authentication occurs independently from an SSL configuration. If the |
UID | None | Sets the user name when accessing the Dremio server. Note: This property is required when the |
PWD | None | Sets the password that corresponds with the username provided in the Note: A value is required here when the |
Schema | None | Provides the name of the database schema to use by default when a schema is not specified in a query. However, this does not prevent queries from being issued for other schemas. Such queries must explicitly include the schema. |
ZKQuorum | None | Identifies the server(s) in your ZooKeeper cluster. When listing multiple servers, separate them with a comma (,). Note: This property is required if the |
LogLevel | OFF (0 ) | Handles logging behaviors in the driver and specifies the amount of detail to include in log files. Note: We recommend only enabling logging when capturing an issue. Logging can dramatically impact server performance and consume large quantities of disk space. The settings for logging will apply to any connection using the Dremio ODBC driver, so always remember to disable this feature once you are done using it. The following are accepted values: OFF ( When logging has been enabled, the driver will produce a log file at the location specified in the |
LogPath | None | Sets the full path to the folder where the ODBC driver should save log files when logging has been enabled. |
LogFileSize | 20971520 | Restricts the maximum size of each log file, as measured in bytes. Once the maximum file size is reached, the driver then creates a new file and continues logging. |
SSL connection parameters
Use the following parameters to configure SSL encryption and verification methods for regular connections.
Name | Default Value | Description |
---|---|---|
SSL | Clear (0 ) | Forces the client to use an SSL encrypted connection to communicate with the Dremio server. Accepted values include: Enabled ( Note: SSL configuration occurs independently from authentication. If |
DisableHostVerification | 0 | Forces the driver to verify that the host in the certificate is the host being connected to. Accepted values are:
|
DisableCertificateVerification | 0 | Specifies whether the driver should verify the host certificate against the trust store. Accepted values are:
|
DisableCertificateValidation | 0 | Controls whether the driver verifies the host certificate against the trust store. Accepted values include: Disabled ( |
UseSystemTrustStore | Clear (0 ) | Controls whether to use a CA certificate from the system's trust store, or from a specified Enabled ( |
TLSProtocol | tlsv12 | Indicates the TLS protocol version to use for connections. Accepted values are: tlsv1 , tlsv11 , and tlsv12 . |
TrustedCerts | The cacerts.pem file in the \lib subfolder within the driver's installation directory | The full path of the Note: The exact file path varies depending on the version of the driver that is installed. The path for the Windows driver is different from the path set for the Mac OS driver. |
Advanced Properties
These describe the advanced properties you may use when configuring the Dremio ODBC driver.
Note:
When defining multiple parameters, each should be separated using a semicolon (;).
HandshakeTimeout | 5 | Specifies an integer value, which represents the number of seconds the driver must wait before ending an attempt to connect with a data source. Note: If this property is set to |
HeartBeatFreqSec | 15 | Sets the total number of seconds of inactivity allowed before the Dremio client sends a heartbeat to the server to check on the status of a connection. Note: If this property is set to |
NonZeroMaxNameMaxLen | false | Restricts the maximum length of schema, catalog, table, and column names. The Dremio ODBC Driver does not automatically enforce a maximum length for these names. By default, the driver reports these lengths as
Note: Some BI tools interpret the length of |
NumberOfPrefetchBuffers | 5 | Controls the size of the record batch queue for the driver. Note: When this property is set to a value less than |
QueryTimeout | 180 | Controls the number of seconds that the driver will wait before halting a query. Note: If this property is set to |
StringColumnLength |
The value specified by the server when connecting to Apache Drill server 1.12.0+ | Sets the maximum column length that the driver reports for string columns. This property supports values between |
TimestampTZDisplayTimeZone | local | Specifies the timestamp to be used by the Dremio server. Accepted values include:
|
UID | String | The identity used to authenticate and establish the connection. When inbound impersonation is configured, |
DelegationUID | String | When inbound impersonation is configured, |