undefined method `define_a_column' for class `OCI8::Cursor'


Environment: Solaris 10, Orale 10g, Apache 2.2, Ruby 1.8.4, Rails
1.2.3, Ruby OCI8 1.0.0-rc2

As soon as I compiled and installed the Ruby/OCI8 interface, I got the
following error from my application:


I should have said that I think that this is purely a Rails problem,
since the ruby one-liner works fine:

LD_LIBRARY_PATH=/usr/local/instantclient_10_2 \

ruby -r oci8 -e '
    OCI8.new("XXXX", "YYYY", "//localhost/sid").exec("select * from
    do |r| puts r.join(","); end


Kevin McNamee wrote:

It looks like it is redefining a function from the original Cursor
class in /usr/local/lib/ruby/site_ruby/1.8/oci8.rb but it seems to be
failing to find the "define_a_column" method.

I am really stuck here. What can I do?

This is a library path problem. The solution varies by platform, but you need to have your environment set up such that you can successfully connect to your Oracle database using sqlplus. If you can do that, you won't have this error.

I can run sqlplus as follows:

OK, so I solved the problem. Yippee! My Apache conf was incorrect.