SQLite {RSQLite} | R Documentation

## Instantiate the SQLite engine from the current R/S-Plus session.

### Description

This function creates and initializes the SQLite engine. It returns an object that allows you to connect to the SQLite embedded engine.

### Usage

    SQLite(max.con = 16, fetch.default.rec = 500, force.reload = F)

### Arguments

`max.con` | maximum number of connections that may be open at one time. This can be up to 100, a limit defined at compilation time. Note that since the SQLite engine is embedded (i.e., a set of C functions within the R/S-Plus process) connections consume very little resources.
`fetch.default.rec` | number of records to fetch at one time from the database. (The `fetch` method uses this number as a default.)
`force.reload` | should the package code be reloaded (reinitialized)? Setting this to `TRUE` allows you to change default settings. Notice that all connections should be closed before re-loading.

### Details

This object is a singleton, that is, on subsequent invocations it returns the same initialized object.

This implementation allows the R/S-Plus embedded SQLite engine to work with multiple database instances through multiple connections simultaneously.

SQLite keeps each database instance in one single file. The name of the database is the file name, thus database names should be legal file names in the running platform.

### Value

An object of class `SQLiteDriver` which extends `dbDriver` and `dbObjectId`. This object is required to create connections to the embedded SQLite database. There can be many SQLite database instances running simultaneously.

### Side Effects

The R/S-Plus client part of the database communication is initialized, but note that connecting to database instances needs to be done through calls to `dbConnect`.

### User authentication

SQLite is a single-user database engine, so no authentication is required.

### References

See the Omega Project for Statistical Computing at http://www.omegahat.org and http://stat.bell-labs.com/RS-DBI for more details on the R/S-Plus database interface.

See the Adobe PDF file `DBI.pdf` under the `doc` subdirectory of the DBI package, i.e., `system.file("doc", "DBI.pdf", package = "DBI")`

See the documentation at the SQLite Web site http://www.hwaci/com/sw/sqlite/index.html for details.

### Author(s)

David A. James

### See Also

On database drivers:

`dbDriver`, `dbUnloadDriver`, `dbListConnections`.

On connections, SQL statements and resultSets:

`dbConnect`, `dbDisconnect`, `dbSendQuery`, `dbGetQuery`, `fetch`, `dbListResults`.

On transaction management:

`dbCommit`, `dbRollback`.

On meta-data:

`summary`, `dbGetInfo`, `dbListTables`, `dbListFields`, `dbColumnsInfo`, `dbGetException`, `dbGetStatement`, `dbHasCompleted`, `dbGetRowCount`, `dbGetAffectedRows`.

### Examples

       # create a SQLite instance and create one connection.
       m <- dbDriver("SQLite")

       # initialize a new database "base.dbms" in the current directory
       # and copy some data.frame from the base package into it

       con <- dbConnect(m, dbname = "base.dbms")
       data(USArrests)
       dbWriteTable(con, "USArrests", USArrests, overwrite = T)

       # query
       rs <- dbSendQuery(con, "select * from USArrests")
       d1 <- fetch(rs, n = 10)      # extract data in chunks of 10 rows
       dbHasCompleted(rs)
       d2 <- fetch(rs, n = -1)      # extract all remaining data
       dbHasCompleted(rs)
       dbClearResult(rs)
       dbListTables(con)

[Package Contents]