sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo configurar Ruby on Rails con Oracle?

Construye rubíes, gemas y rieles

según http://rubyonrails.org/download:

build ruby
build gem
use gem to install rails

Obtenga el cliente instantáneo de Oracle

Descargar desde https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

Necesita estos dos paquetes para su arquitectura.

instantclient-basic
instantclient-sdk

Descomprima estos archivos y haga este enlace

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

Construir ruby-oci8

Tenga en cuenta que los usuarios de JRuby no necesitan ruby-oci8, pero sí necesitan el jar de Oracle JDBC, ya sea ojdbc6.jar o ojdbc5.jar, dependiendo de si tiene Java 6 o Java 5.

Descargar desde http://ruby-oci8.rubyforge.org/en/index.html y ejecutar

# 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

Pruebe con esta línea y la cadena de conexión de su base de datos.

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

Instalar activerecord-oracle_enhanced-adapter

Tenga en cuenta, no adaptador-activrecord-oracle como mencionan muchas páginas anteriores.

gem install activerecord-oracle_enhanced-adapter

Haz eso de los dulces rieles

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

Prueba en navegador

<http://localhost:3000/comics>

config/base de datos.yml

Usar base de datos si tiene una entrada TNS, de lo contrario use host . Tenga en cuenta que tiene tres entradas (desarrollo, prueba, producción) para actualizar.

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

Referencias

  • http://emphaticsolutions.com/2008/05/22/conexión-a-oracle-desde-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