Several packages on CRAN provide (or relate to) interfaces between databases and R. Here is a summary, mostly in the words of the package descriptions. Remember that package names are case-sensitive.
The packages that talk about being DBI-compliant are referring to the
DBI package (see below in “Other SQL”).
dbConnect: Provides a graphical user interface to connect with databases that use MySQL.
RMySQL: The current version complies with the database interface definition as implemented in the package
RODM: This package implements an interface to Oracle Data Mining (ODM). It provides an ideal environment for rapid development of demos and proof of concept data mining studies. It facilitates the prototyping of vertical applications and makes ODM and the RDBMS environment easily accessible to statisticians and data analysts familiar with R but not fluent in SQL or familiar with the database environment.
ROracle: This is a DBI-compliant Oracle driver based on the OCI.
RpgSQL: DBI interface to PostgreSQL database via
RPostgreSQL: This package provides a Database Interface (
DBI) compliant driver for R to access PostgreSQL database systems.
filehashSQLite: Simple key-value database using SQLite as the backend.
RSQLite: This package embeds the SQLite database engine in R and provides an interface compliant with the
DBI package. The source for the SQLite engine (currently, version 3.7.14) is included.
RSQLite.extfuns: This package uses SQLite’s loadable extension feature to provide a number of additional SQL functions and aggregates.
DBI: A database interface (DBI) definition for communication between R and relational database management systems. All classes in this package are virtual and need to be extended by the various R/DBMS implementations.
ODB: This package provides functions to create, connect, update and query HSQL databases embedded in Open Document Databases (.odb) files, as OpenOffice and LibreOffice do.
RODBC: An ODBC database interface.
RJDBC: RJDBC is an implementation of R’s DBI interface using JDBC as a back-end. This allows R to connect to any DBMS that has a JDBC driver.
sqldf: This one is an outlier: Manipulate R data frames using SQL.
sqlutils: This package provides utilities for working with a library of SQL files.
RCassandra: This package provides a direct interface (without the use of Java) to the most basic functionality of Apache Cassandra such as login, updates and queries.
RMongo: MongoDB Database interface for R. The interface is provided via Java calls to the mongo-java-driver.
rmongodb: Provides an interface to MongoDB for R.
fame: Read and write FAME databases.
h5r: A package for reading and writing HDF5 files.
hdf5: Interface to the NCSA HDF5 library. The last update was in 2009, and the
h5r package seems to be more comprehensive.
RH2: DBI/RJDBC interface to h2 database. h2 (currently, version 1.3.170) is included.
Binary versions on CRAN
Here is a quote from CRAN:
Packages related to many database systems must be linked to the exact version of the database system the user has installed, hence it does not make sense to provide binaries for packages RMySQL, ROracle, ROracleUI, TSMySQL, dbConnect although it is possible to install such packages from sources by install.packages('packagename', type='source') after reading the manual 'R Installation and Administration'.
What have I missed?
What do I have wrong?
What are your recommendations for narrowing down choices?