Legacy database support (iSeries / as/400)


I would really like to incorporate Ruby in my organization, but I have
been mostly limited to Java (for the past 10 years or so) due to the
availability of mature JDBC drivers (particularly for as/400 aka i5
aka iSeries). While Java works fine, a full J2EE implementation if
often overkill for many smaller applications. My current web
development framework of choice is Tapestry along with Spring and

I’ve played with Ruby and RoR for a while now, but as far as I know
there is no real support yet for DB2/400. I don’t want to run Ruby on
the iSeries, but I do need database support. Does RoR need to be
explicitly support DB2/400, or is it possible to use a generic ODBC
connection? I have read for the past year or so that iSeries support
is on the way, but I haven’t seen any real progress yet. I would
appreciate any information or suggestions.



As you are no doubt aware, there are two ways to talk to DB2/400 from
client/server applications : via a proprietary driver (iSeries Access)
using the standard DB2 client via DB2 Connect.

If you have DB2 Connect, then you should be able to use the ibm_db2
from IBM Alphaworks.




Yes, I’m aware of those, but comments such as this:
http://wiki.rubyonrails.com/rails/pages/IBM+DB2 and this:

tell me that IBM is working to unify DB2 Connect support across all of
the db2 products. It appears full support is coming in the future,
but I was curious to know if anyone in the rails community is having
success with this at the moment.



It is helpful. Thanks for sharing.


we’re using iSeries Access and the Rails ODBC Adapter from Openlink at


it seems to work for our purposes.