DBI::dbConnect(odbc::databricks(), ...) fails with the new Databricks ODBC driver (installed from the official site) on macOS. The new driver installs to /Library/databricks/databricksodbc/ rather than the legacy Simba Spark path at /Library/simba/spark/. This is noted in their own documentation that ships along with the installed driver.
See Documentation Screencap
Error
Error in file(con, "r") : invalid 'description' argument
Root cause
spark_simba_config() doesn't recognize the new driver path and returns character(0)
for the config file path:
odbc:::spark_simba_config("/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib"
)
#> $path
#> character(0)
#>
#> $url
#> [1] "https://www.databricks.com/spark/odbc-drivers-download"
configure_simba() then tries to open character(0) as a file, causing the error.
Reproduction
# odbc 1.6.4.1, macOS 15 (Darwin 25.3.0)
# Databricks ODBC driver installed at /Library/databricks/databricksodbc/
DBI::dbConnect(
odbc::databricks(),
httpPath = "/sql/1.0/warehouses/example",
driver = "/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib"
)
#> Error in file(con, "r") : invalid 'description' argument
Workaround
Using odbc::odbc() directly with explicit parameters works:
DBI::dbConnect(
odbc::odbc(),
driver = "/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib",
host = Sys.getenv("DATABRICKS_HOST"),
port = 443,
AuthMech = 3,
httpPath = Sys.getenv("DATABRICKS_HTTP_PATH"),
protocol = "https",
thriftTransport = 2,
ssl = 1,
uid = "token",
pwd = Sys.getenv("DATABRICKS_TOKEN")
)
Environment
- odbc version: 1.6.4.1
- macOS (Darwin 25.3.0)
- Driver: Databricks ODBC driver at
/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib
- Driver config: /Library/databricks/databricksodbc/lib/databricks.databricksodbc.ini
DBI::dbConnect(odbc::databricks(), ...)fails with the new Databricks ODBC driver (installed from the official site) on macOS. The new driver installs to/Library/databricks/databricksodbc/rather than the legacy Simba Spark path at/Library/simba/spark/. This is noted in their own documentation that ships along with the installed driver.See Documentation Screencap
Error
Error in file(con, "r") : invalid 'description' argumentRoot cause
spark_simba_config()doesn't recognize the new driver path and returnscharacter(0)for the config file path:
configure_simba()then tries to opencharacter(0)as a file, causing the error.Reproduction
Workaround
Using odbc::odbc() directly with explicit parameters works:
Environment
/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib