Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment configurer Ruby on Rails avec Oracle ?

Construisez des rubis, des gemmes et des rails

selon http://rubyonrails.org/download :

build ruby
build gem
use gem to install rails

Obtenir le client instantané Oracle

Télécharger depuis https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

Vous avez besoin de ces deux packages pour votre architecture.

instantclient-basic
instantclient-sdk

Décompressez ces fichiers et créez ce lien

cd instantclient_10_2
# .dylib for mac, .so for linux
ln -s libclntsh.dylib.10.1 libclntsh.dylib

Construire ruby-oci8

Notez que les utilisateurs de JRuby n'ont pas besoin de ruby-oci8, mais ont besoin du jar Oracle JDBC, soit ojdbc6.jar ou ojdbc5.jar selon que vous ayez Java 6 ou Java 5.

Téléchargez depuis http://ruby-oci8.rubyforge.org/en/index.html et exécutez

# DYLD for mac
export DYLD_LIBRARY_PATH=/path/to/instantclient_10_2
# LD for linux
export LD_LIBRARY_PATH=/path/to/instantclient_10_2
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

Testez avec cette ligne et votre chaîne de connexion à la base de données.

ruby -r oci8 -e "OCI8.new('scott/[email protected]').exec('select * from user_tables') do |r| puts r.join(','); end"

Installer activerecord-oracle_enhanced-adapter

Remarque, pas adaptateur activrecord-oracle comme le mentionnent de nombreuses pages plus anciennes.

gem install activerecord-oracle_enhanced-adapter

Faites ce truc de rails doux

rails railstest
cd railstest
# edit config/database.yml as below
ruby script/generate scaffold comic title:string issue:integer publisher:string
rake db:migrate
ruby script/server

Tester dans le navigateur

<http://localhost:3000/comics>

config/database.yml

Utiliser la base de données si vous avez une entrée TNS, sinon utilisez host . Notez que vous avez trois entrées (devel, test, production) à mettre à jour.

development:
    adapter: oracle_enhanced
    database: orcl           # format is tns-name entry
    host:  myorclhost/orcl   # format is hostname/instance-name
    username: scott
    password: tiger

Références

  • http://emphaticsolutions.com/2008/05/22/connecting-to-oracle-from-ruby-on-rails.html
  • http://www.oracle.com/technology/pub/articles/saternos-ror-faq.html
  • http://drawohara.com/post/37166893/rails-unsucking-oci-oracle-on-rails-2-1
  • http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html