Rails 3.0.3 - Oracle_enhanced不起作用

时间:2010-12-30 10:51:57

标签: ruby-on-rails oracle

我一直在使用带有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   宝石。)

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

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

有没有人有线索?

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

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)

谢谢。

1 个答案:

答案 0 :(得分:3)

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

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