Skip to contents

Connect to a Snowflake account via the Snowflake ODBC driver.

In particular, the custom dbConnect() method for the Snowflake ODBC driver detects ambient OAuth credentials on platforms like Snowpark Container Services or Posit Workbench.

Usage

snowflake()

# S4 method for Snowflake
dbConnect(
  drv,
  account = Sys.getenv("SNOWFLAKE_ACCOUNT"),
  driver = NULL,
  warehouse = NULL,
  database = NULL,
  schema = NULL,
  uid = NULL,
  pwd = NULL,
  ...
)

Arguments

drv

an object that inherits from DBIDriver, or an existing DBIConnection object (in order to clone an existing connection).

account

A Snowflake account identifier, e.g. "testorg-test_account".

driver

The name of the Snowflake ODBC driver, or NULL to use the default name.

warehouse

The name of a Snowflake compute warehouse, or NULL to use the default.

database

The name of a Snowflake database, or NULL to use the default.

schema

The name of a Snowflake database schema, or NULL to use the default.

uid, pwd

Manually specify a username and password for authentication. Specifying these options will disable ambient credential discovery.

...

Further arguments passed on to dbConnect().

Value

An OdbcConnection object with an active connection to a Snowflake account.

Examples

if (FALSE) {
# Use ambient credentials.
DBI::dbConnect(odbc::snowflake())

# Use browser-based SSO (if configured). Only works on desktop.
DBI::dbConnect(
  odbc::snowflake(),
  account = "testorg-test_account",
  authenticator = "externalbrowser"
)

# Use a traditional username & password.
DBI::dbConnect(
  odbc::snowflake(),
  account = "testorg-test_account",
  uid = "me",
  pwd = rstudioapi::askForPassword()
)
}