← Back to all sparks
O

odbc

DEVOPS
Velocity0.0

DBI-compliant ODBC driver connecting R to any ODBC database

odbc keeps turning into an authentication broker with a database driver attached.

databasesdbisnowflakedatabricksauthenticationposit
Current state
odbc is DBI's ODBC backend, and the releases in view are dominated by three vendors. Databricks, Snowflake and Redshift each got a dedicated connection helper, and the work since has been almost entirely about credentials: OAuth, viewer-based identity on Posit Connect, service principals, workload identity federation, private keys passed from memory. The plain driver work — DATETIMEOFFSET on SQL Server, DB2 XML, Oracle date writes, an interrupt that no longer crashes — runs underneath in a steady stream of point releases.
Where it's heading
The centre of the package has moved from talking to a database to proving who you are to a warehouse. Version 1.7.0 makes that explicit by handing Snowflake connection resolution to the snowflakeauth package so odbc reads the vendor's own connections.toml rather than defining its own parameter set. That is a pattern worth watching: as each warehouse standardises its config across CLI, Python and R, odbc's job shifts from inventing an interface to conforming to one.
Prediction
Expect Databricks to get the same treatment Snowflake just received — configuration resolved from the vendor's own config files rather than from odbc arguments — and expect the deprecated odbcConnection* functions to be removed outright.

Recent moves

  1. 3mo ago

    Snowflake config moves to connections.toml; Databricks gains federated identity

    ⚡ SPARK

    Snowflake connection resolution moves to the snowflakeauth package and the vendor's own config files, while Databricks gains workload identity federation and service principal detection on Posit Connect. This is the release where odbc stops defining warehouse connection parameters and starts reading them from where the vendor already put them.

    View source ↗
  2. 8mo ago

    Date/time write fixes; DATETIMEOFFSET offsets now ISO 8601

    Fixes writing of date and time values with integer storage, Oracle DATE targets, and SQL Server DATETIMEOFFSET time zone interpretation, which now follows the ISO 8601 convention that a positive offset means east of Greenwich. The last of those silently reversed time zones for anyone writing offset data.

    View source ↗
  3. 11mo ago

    Fix compiler warning on r-devel Fedora clang

    A single compiler warning addressed on one R-devel check platform. CRAN upkeep.

    View source ↗
  4. 11mo ago

    Error-parsing hang fixed; SQL Server and Snowflake backends widened

    A broad backend release: a hang when parsing very long database errors, DATETIMEOFFSET support and table-valued parameter binding on SQL Server, DB2 XML, and Snowflake private keys passed as PEM contents from memory rather than a file. The in-memory key support is the one that matters for containerised deployments with no writable secret path.

    View source ↗
  5. 1y ago

    Find statically built unixodbc automatically

    Automatically locates statically built unixodbc installations. One line, aimed at the same install-path friction the surrounding releases keep chipping at.

    View source ↗
  6. 1y ago

    Redshift helper and viewer-based credentials on Posit Connect

    Adds a redshift() helper for IAM-based connections and lets databricks() and snowflake() pick up viewer-based credentials on Posit Connect, so a deployed app can query as the person viewing it. Also adds config-file editing shortcuts and clearer errors when unixODBC is missing.

    View source ↗