Rails 3.0.3 - Oracle_enhanced не работает - PullRequest
1 голос
/ 30 декабря 2010

Я использую Ruby 1.8 + Rails 2.3.5 с oracle_enhanced, и он отлично работает.

Теперь я недавно установил 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 Ответ

3 голосов
/ 02 января 2011

В Rails 3 вы должны указать все ваши гемные зависимости в Gemfile. Смотрите пример Gemfile с адаптером ruby-oci8 и oracle_enhanced: https://github.com/rsim/rails3_oracle_sample/blob/master/Gemfile

После указания ваших гем-зависимостей в Gemfile вам нужно запустить bundle install, чтобы убедиться, что все необходимые гемы установлены. После этого вы сможете использовать адаптер oracle_enhanced.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...