Agradeceríamos tu apoyo para extender nuestros artículos sobre las ciencias de la computación.
Solución:
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.
Descargue desde http://ruby-oci8.rubyforge.org/en/index.html y ejecute
# 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
Prueba con esta línea y tu conexión a la base de datos. string.
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
Nota, noactivrecord-oracle-adaptador 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 el navegador
config/base de datos.yml
Usar base de datos si tiene una entrada TNS, de lo contrario use anfitrión. 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
Algunos enlaces adicionales a la respuesta anterior.
Si tiene una Mac, puede seguir el tutorial Cómo configurar Ruby y Oracle Instant Client en Mac OS X para obtener acceso a la base de datos de Oracle desde Ruby.
Luego puede leer la wiki del adaptador mejorado ActiveRecord Oracle para obtener conectividad Oracle en Ruby on Rails. Este adaptador se utiliza en muchos proyectos de Ruby on Rails en Oracle y se encuentra en mantenimiento activo.
También publico regularmente sobre Ruby y Oracle en mi blog.
En mi caso ya tenía el cliente Ruby, gem, Rails y Oracle en Windows 7. Instalé el paquete binario ruby-oci8 para Windows de 32 bits:
Fuente: http://ruby-oci8.rubyforge.org/en/file.install-binary-package.html
gem install ruby-oci8
gem install --platform x86-mingw32 ruby-oci8
Y luego:
gem install activerecord-oracle_enhanced-adapter
y ya está listo para hacer Rails en Oracle.
Si guardas algún titubeo y disposición de mejorar nuestro tutorial te proponemos escribir un informe y con gusto lo ojearemos.