From: Jim Cain Date: 2003-06-26T12:58:56+09:00 Subject: Re: DBD for Oracle9i Jim Cain wrote: > Daniel Berger wrote: > >> Jim Cain wrote in message >> news:<3EFA28DA.9010005@jimcain.us>... >> >>> Hi all. I was looking for a Ruby interface to 9i that would handle >>> all the latest features, including collections, object navigation and >>> so on, but I didn't find one. So over the weekend I started writing >>> my own. I've coded the basic functionality as a C extention library >>> that uses OCI 9. It connects and executes, and it will fetch the >>> common Oracle types. Now I need to add all the features I want and >>> then put a nice DBI face on it. >>> >>> If there is a general interest in this, I can release my source under >>> the GPL. >>> >>> Cheers, >>> Jim >> >> >> >> (Hopefully this isn't a double post - browser problems) >> >> I would absolutely love to see this. There hasn't been an update to >> the Oracle driver for Ruby in over 2 years. >> >> I would like to make a few requests. First, that basic functionality >> (select, insert, etc) be backwards compatible with Oracle 8, if not >> Oracle 7. Second, that connects be non-blocking. By that I mean I >> should be able to wrap a connect in a timeout and have it actually >> *work*. Lastly, that it be compatible with the DBI module. >> >> Just my .02 >> >> Regards, >> >> Dan > > > I expect that the basic functionality will be backward-compatible, but > I'm developing this on a 9i instance with the 9i client libraries > (that's what I have at home), so there are no guarantees. In particular, > it likely will *not* compile against an 8i client installation because > of the use of newer OCI calls. One solution would be to install 9i > client libraries on your end and compile against those. Aside from the > headaches of having multiple client installs, a 9i client library should > be able to connect to an 8i instance. Theoretically. > > > Oops, I forgot to address the other requests. I am planning to make non-blocking connections available, and as I mentioned above, there will be a DBI wrapper for it. You never need call the low-level stuff implemented in the C module unless you choose to.