Jim Cain wrote:
> All,
> 
> 
> If anyone has any features that they would like supported, please let me 
> know. For now, I've got plenty of time to spend on this project since I 
> was just laid off. My loss is the Ruby community's gain, I hope.
> 
> Cheers,
> Jim
> 

Hi Jim,

Thank you very much!

As for features, I personally hate manual installation.  Here's a little 
extconf.rb script I whipped up for folks to use.

# extconf.rb for ruby9i
require "mkmf"

if ENV["ORACLE_HOME"] || ENV["ORA_HOME"]
    ORACLE_HOME = ENV["ORACLE_HOME"] || ENV["ORA_HOME"]
    $CFLAGS="-I#{ORACLE_HOME}/rdbms/demo  -I#{ORACLE_HOME}/rdbms/public"
    $LDFLAGS="-L#{ORACLE_HOME}/lib"
else
    msg = "Your $ORACLE_HOME environment variable is not set.  You can "
    msg += "either set it and start over or hand-modify the Makefile "
    msg += "to point to the appropriate directories"
    STDERR.puts msg
end

dir_config("oracle9i")
have_header("oci.h")
have_library("clntsh")
create_makefile("oracle9i")
# end extconf.rb

Then it's just a matter of doing:

ruby extconf.rb
make
make site-install

I ran this sample test:

# test.rb
require 'ruby9i'

db = "some_db"
user = "some_user"
passwd = "bogus"

dbh = Ruby9i::Database.new(db,user,passwd)
sth = dbh.prepare("SELECT sysdate from dual")
sth.execute

puts sth.fetch

sth.close # oops!
dbh.disconnect
# end test.rb

Only thing that surprised me was that statement handles didn't have a 
close method.  But otherwise, it worked! Oracle 9.0.1, Solaris 9, btw.

Oh, one more thing.  Please create tarballs so that they unpack into 
their own directory, not the current directory.  You seem a decent 
fellow - I'd hate to kill you. :-P

Regards,

Dan