Connect to a DBMS going through the appropriate authentication procedure.
Some implementations may allow you to have multiple connections open, so you
may invoke this function repeatedly assigning its output to different
The authentication mechanism is left unspecified, so check the
documentation of individual drivers for details.
dbCanConnect() to check if a connection can be established.
This documentation page describes the generics. Refer to the documentation pages linked below for the documentation for the methods that are implemented in various backend packages.
dbConnect() returns an S4 object that inherits from DBIConnection.
This object is used to communicate with the database engine.
format() method is defined for the connection object.
It returns a string that consists of a single line of text.
DBI recommends using the following argument names for authentication
user for the user name (default: current user)
password for the password
host for the host name (default: local connection)
port for the port number (default: local connection)
dbname for the name of the database on the host, or the database file
The defaults should provide reasonable behavior, in particular a
local connection for
host = NULL. For some DBMS (e.g., PostgreSQL),
this is different to a TCP/IP connection to
In addition, DBI supports the
bigint argument that governs how
64-bit integer data is returned. The following values are supported:
"integer": always return as
integer, silently overflow
"numeric": always return as
numeric, silently round
"character": always return the decimal representation as
# SQLite only needs a path to the database. (Here, ":memory:" is a special # path that creates an in-memory database.) Other database drivers # will require more details (like user, password, host, port, etc.) con <- dbConnect(RSQLite::SQLite(), ":memory:") con #> <SQLiteConnection> #> Path: :memory: #> Extensions: TRUE dbListTables(con) #> character(0) dbDisconnect(con) # Bad, for subtle reasons: # This code fails when RSQLite isn't loaded yet, # because dbConnect() doesn't know yet about RSQLite. dbListTables(con <- dbConnect(RSQLite::SQLite(), ":memory:")) #> character(0)