Wraps objects of the DBIDriver class to include connection options.
The purpose of this class is to store both the driver
and the connection options.
A database connection can be established
with a call to dbConnect()
, passing only that object
without additional arguments.
Details
To prevent leakage of passwords and other credentials,
this class supports delayed evaluation.
All arguments can optionally be a function (callable without arguments).
In such a case, the function is evaluated transparently when connecting in
dbGetConnectArgs()
.
See also
Other DBI classes:
DBIConnection-class
,
DBIDriver-class
,
DBIObject-class
,
DBIResult-class
,
DBIResultArrow-class
Other DBIConnector generics:
dbConnect()
,
dbDataType()
,
dbGetConnectArgs()
,
dbIsReadOnly()
Examples
# Create a connector:
cnr <- new("DBIConnector",
.drv = RSQLite::SQLite(),
.conn_args = list(dbname = ":memory:")
)
cnr
#> <DBIConnector><SQLiteDriver>
#> Arguments:
#> $dbname
#> [1] ":memory:"
#>
# Establish a connection through this connector:
con <- dbConnect(cnr)
con
#> <SQLiteConnection>
#> Path: :memory:
#> Extensions: TRUE
# Access the database through this connection:
dbGetQuery(con, "SELECT 1 AS a")
#> a
#> 1 1
dbDisconnect(con)