Connect to Databricks clusters and SQL warehouses via the Databricks ODBC driver.
In particular, the custom dbConnect() method for the Databricks ODBC driver
implements a variant of Databricks's unified authentication
model when no uid or pwd is supplied, checking for ambient credentials in
the following order:
Viewer-based or service principal credentials supplied by Posit Connect
(requires the connectcreds package).
Personal access tokens.
Workload identity federation.
OAuth machine-to-machine credentials.
OAuth user-to-machine credentials suplied via Posit Workbench or the
Databricks CLI on desktop.
This aims to provide broad compatibility between odbc and the standard
environment variables used by Databricks SDKs in R and other languages.
In addition, on macOS platforms, the dbConnect() method will check
for irregularities with how the driver is configured,
and attempt to fix in-situ, unless the odbc.no_config_override
environment variable is set.
String truncation
The Databricks ODBC driver reports STRING columns to clients as
VARCHAR(n), where n is the value of its DefaultStringColumnLength
connection attribute. This reported size determines the allocated string
buffer, and the driver can silently truncate values that do not fit.
Because the driver's own default of 255 is easy to hit in practice,
dbConnect() sets this attribute to 65535 by default. Pass
defaultStringColumnLength to dbConnect() to choose another limit.