Rails 3.0.3 – Oracle_enhanced不起作用

我一直在使用带有oracle_enhanced的Ruby 1.8 + Rails 2.3.5,它运行正常。

现在我最近在另一个文件夹上安装了Ruby 1.9.2和Rails 3.0.3,我无法让它工作。

当我创建一个简单的应用程序并访问它时,该页面返回以下错误:

请安装oracle_enhanced适配器: gem install activerecord-oracle_enhanced-adapter (没有要加载的文件 – active_record / connection_adapters / oracle_enhanced_adapter)

我试图调查问题,发现Ruby正在使用的文件夹,即C:\ Ruby192 \ lib \ ruby​​ \ gems \ 1.9.1 \ gems \ activerecord-3.0.3 \ lib \ active_record \ connection_adapters。 在该文件夹中没有oracle_enhanced_adapter.br文件。

该文件位于另一个文件夹C:\ Ruby192 \ lib \ ruby​​ \ gems \ 1.9.1 \ gems \ activerecord-oracle_enhanced-adapter-1.3.1 \ lib \ active_record \ connection_adapters。 我试图将此文件夹中的所有rb文件复制到另一个文件夹中,但仍然出现错误,但它已更改:

请安装oracle_enhanced适配器: gem install activerecord-oracle_enhanced-adapter (错误:ActiveRecord oracle_enhanced适配器无法加载ruby-oci8库。请安装ruby-oci8 gem。)

我注意到我的旧Ruby安装(1.8)具有相同的文件/文件夹结构,并且oracle_enhanced工作。

如果我在IRB上手动测试连接它工作正常,问题只出在Rails上。

有人有线索吗?

我现在正在使用Webrick,我的gem列表如下:

 abstract (1.0.0) actionmailer (3.0.3) actionpack (3.0.3) activemodel (3.0.3) activerecord (3.0.3) activerecord-oracle_enhanced-adapter (1.3.1) activeresource (3.0.3) activesupport (3.0.3) arel (2.0.6) builder (2.1.2) bundler (1.0.7) cgi_multipart_eof_fix (2.5.0) erubis (2.6.6) gem_plugin (0.2.3) hoe (2.8.0) i18n (0.5.0) mail (2.2.13) mime-types (1.16) minitest (1.6.0) mongrel (1.1.5 x86-mingw32) oracle_enhanced (1.2.5) polyglot (0.3.1) rack (1.2.1) rack-mount (0.6.13) rack-test (0.5.6) rails (3.0.3) railties (3.0.3) rake (0.8.7) rdoc (2.5.8) ruby-oci8 (2.0.4 x86-mingw32) sqlite3-ruby (1.3.2 x86-mingw32) thor (0.14.6) treetop (1.4.9) tzinfo (0.3.23) 

谢谢。

在Rails 3中,您必须在Gemfile中指定所有gem依赖项。 请参阅使用ruby-oci8和oracle_enhanced适配器的Gemfile示例: https : //github.com/rsim/rails3_oracle_sample/blob/master/Gemfile

在Gemfile中指定gem依赖项后,您需要运行bundle install以确保bundle install所有必需的gem。 之后,您应该能够使用oracle_enhanced适配器。