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()
.
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()
)
}