An OpenEdge driver for DataObjects.
This driver implements the DataObjects API for the Progress OpenEdge relational database. This driver is currently provided only for JRuby.
CLOBfields cannot be used as predicates or arithmetic/comparison operators. In other words, you cannot query rows based on their value. You will have to query the rows using a different column value (there is no issue doing reads or writes with
CLOBfields). See ProKB P91964 for more info.
- The 10.2B JDBC driver causes
NUMERICSQL types to round up to the nearest integer and then truncate all digits after the decimal point. According to ProKB P187898, it appears to be a regression bug in the JDBC driver.
An example of usage:
@connection = ::Connection.new("openedge://localhost:4000/sports2000") @reader = @connection.create_command('SELECT * FROM State').execute_reader @reader.next!
Connection constructor should be passed either a DataObjects-style URI or
Note that the DataDirect proprietary-style JDBC URI tokenized with
is not supported.
- JRuby 1.3.1 + (1.4+ recommended)
do_jdbcgem (shared library)
To install the gem:
jruby -S gem install do_openedge
To compile and install from source:
- Install the Java Development Kit (provided if you are on a recent version of Mac OS X) from http://java.sun.com
- Install a recent version of JRuby. Ensure
jrubyis in your
PATHand/or you have configured the
JRUBY_HOMEenvironment variable to point to your JRuby installation.
jruby -S rake install.
- Install this driver with
jruby -S rake install.
Follow the above installation instructions. Additionally, you'll need:
rspecgem for running specs.
YARDgem for generating documentation.
See the DataObjects wiki for more comprehensive information: http://wiki.github.com/datamapper/do/jruby.
To run specs:
jruby -S rake spec
To run specs without compiling extensions first:
jruby -S rake spec_no_compile
To run individual specs:
jruby -S rake spec SPEC=spec/connection_spec.rb
Spec data setup
The specs require an empty database to use for running tests against
(the database will be written/read from by the tests). Here are
some commands to be ran from
proenv to create an empty
database that can be used for testing (note the use of UTF-8,
which is required for proper multibyte string support):
prodb test empty proutil test -C convchar convert utf-8 sql_env proserve test -S 4000
This code is licensed under an MIT License. Please see the