Oracle driver doesn't want to load

Hello,

I hope someone can give a hint what is going wrong here.

I have a Ruby program that connects to an Oracle database using the DBI
module. This is the code for the connecting:

dbh = DBI.connect(“DBI:Oracle:db:host”, “user”, “pw”)

I would use the OCI8 driver, but only DBD::Oracle is installed here, and
I won’t get OCI8 before Monday :wink:

My program raises following exception while connecting that I don’t
understand:

/usr/lib/ruby/vendor_ruby/1.8/dbi.rb:344:in load_driver': Could not load driver (no such file to load -- oracle) (DBI::InterfaceError) from /usr/lib/ruby/vendor_ruby/1.8/dbi.rb:227:in_get_full_driver’
from /usr/lib/ruby/vendor_ruby/1.8/dbi.rb:213:in connect' from GeoDatabaseController.rb:35:inconnect_to_oracle’
from GeoDatabaseController.rb:339:in `main’
from GeoDatabaseController.rb:350

What is going wrong here? I have looked at dbi.rb for a while trying to
understand, but I still have no clue.

Thanks,
Maria

On Sat, Mar 31, 2007 at 09:21:51PM +0900, Ma Ha wrote:

I hope someone can give a hint what is going wrong here.

I have a Ruby program that connects to an Oracle database using the DBI
module. This is the code for the connecting:

dbh = DBI.connect(“DBI:Oracle:db:host”, “user”, “pw”)

I would use the OCI8 driver, but only DBD::Oracle is installed here, and
I won’t get OCI8 before Monday :wink:

You can’t use Oracle from Ruby without ruby-oci8.

Even the DBD::Oracle module is supplied as part of the ruby-oci8
package. (I
don’t know if it’s also included with some other package or available
separately, but it definitely won’t work without ruby-oci8 being
installed)

/usr/lib/ruby/vendor_ruby/1.8/dbi.rb:344:in load_driver': Could not load driver (no such file to load -- oracle) (DBI::InterfaceError) from /usr/lib/ruby/vendor_ruby/1.8/dbi.rb:227:in_get_full_driver’

That implies to me that DBD::Oracle isn’t available either.

Anyway, your solution is to go install ruby-oci8 :slight_smile:

Brian.