Skip to content
This repository has been archived by the owner on Apr 17, 2018. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

DataObjects README

DataObjects.rb is an attempt to rewrite existing Ruby database drivers to conform to one, standard interface.

At present the following drivers are available:

Database Vendor MRI (1.8.6/7) / 1.9 JRuby
MySQL x x
Oracle x x
PostgreSQL x x
SQLite3 x x
Derby - x
H2 - x
SQL Server pending x
OpenEdge - x

There is experimental support for Rubinius.

More drivers are currently under development. If you feel like living on the edge, install and test drivers directly from this repository.


To connect to and query the database, DataObjects relies on native extensions. Native extensions have been written in both C (for Ruby 1.8.6/7 (MRI), Ruby 1.9.x (YARV) and Rubinius platform) and Java (for the JRuby platform). Individual drivers may include extensions for both Ruby MRI and JRuby, or one or the other.

C extensions have been written using according to each vendor API. Java drivers use the standard JDBC API. Although there are dialectical differences between the Java drivers, the JDBC API ensures a reasonable amount of commonality. As such, the Java extensions rely on a common do_jdbc gem, which wraps code that is common to all of the Java extensions.


To install a driver from the repository cd into the driver directory and use the provided rake install task to install for the default platform.

Please see the copyright notices in each individual driver README.markdown or LICENSE file. Java-based drivers bundle JDBC driver JAR files, which may be provided under a license that is more restrictive than the MIT License used by the data_objects gem itself.