R/S-Database Interface

We are proposing a common set of classes and methods for interfacing S to relational database systems (RDBMS). Like Java's JDBC, Perl's DBI, and Python's DB-API, etc., the idea is that a common interface will simplify data access to most RDBMS and allow portability both across RDBMS's and S implementations. Our first draft emphasizes querying databases, and not so much a full low-level interface for database development (like JDBC or ODBC). Also, unlike the JDBC and Perl API's, we want to approach the interface from the "whole-object" perspective so natural to R/S and Python (e.g., by fetching all fields and records simultaneously) yet allowing finer control for users that need it. Currently we envision providing drivers for Oracle, Informix, MySQL, and Postgres. It's quite possible that we may want to create an interface to UNIX (gzipped) flat file databases.

Please send us your suggestions and comments on the proposed interface preferably to both of the The Omega Project for Statistical Computing or The R Development Team

A First Implementation

We have an alpha implementation of the R/S interface to the open source RDBMS MySQL. This will be made available very shortly (a day or two). You can download the source or binaries for either the S or R implementation (thanks to Saikat DebRoy and Doug Bates) from http://www.omegahat.org/download/contrib/RS-DBI . Alternatively, the source is available via anonymous CVS access in the module RS-DBI from
  :pserver:anoncvs@www.omegahat.org:/home/anoncvs/src
using the password anoncvs. See for more information on using anonymous CVS.

Other Database Connections from R or S


David A James (for the Omega Project)
600 Mountain Ave
Room 2C-253
Murray Hill, NJ 07974-0636
(908) 582-3082 (voice)
(908) 582-3340 (fax)