Segue abaixo passos para compilar o ruby 1.9.2 no sistema operacional RedHat ou compatível
juntamente com a biblioteca de acesso ao banco de dados Oracle. A instalação será feita em Linux com Oracle 10g previamente instalado.
Instalando o Ruby
yum install zlib-devel openssl-devel readline-devel
cd /root
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
tar -xvf ruby-1.9.2-p0.tar.gz
cd /ruby-1.9.2-p0
./configure
make
make install
O ruby será instalado em /usr/local/lib/ruby. Os executáveis importantes como ruby, irb, ri, rake, gem etc.ficarão em /usr/local/bin
Instalando o OCI para que o Ruby acesse o Oracle
cd /root
wget http://rubyforge.org/frs/download.php/69454/ruby-oci8-2.0.4.tar.gz
tar -xvf ruby-oci8-2.0.4.tar.gz
cd ruby-oci8-2.0.4
Seto as variáveis do oracle como root mesmo para que o processo de compilação do OCI possa achar as bibliotecas do Oracle. Ajuste-as ao seu ambiente.
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_BASE ORACLE_HOME
export LD_LIBRARY_PATH
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
Para ver se o acesso oci está funcionando digite os comandos abaixo no irb que é o shell interativo do ruby
su oracle -
Defina as variáveis novamente como fizemos acima quando estávamos logados como root. Não se esqueça do ORACLE_SID. Na verdade no passo acima ele não era importante, mas neste é pois é por ele que o oci vai identificar qual instância do bd nos conectaremos.
irb
require 'rubygems'
require 'oci8'
O teste consiste em :
- Invocar o ruby interativo
- Carregar a biblioteca rubygems que é o padrão de bibliotecas oficial do ruby. Isto é necessário pois a biblioteca oci8 segue este padrão. Neste ponto vai aparecer true
- Carregar a oci8. Se tudo correu bem vai aparecer true
irb
> require 'rubygems'
=> true
> require 'oci8'
=> true
> conexao = OCI8.new(nil,nil,nil,:SYSDBA)
=> #
> cursor = conexao.exec('select sysdate from dual')
=> #
> registro = cursor.fetch
=> [2010-10-21 23:05:43 -0200]
> registro[0]
=> 2010-10-21 23:05:43 -0200
Conectamos ao Oracle via usuário de sistema operacional como SYSDBA.
Para mais informações a respeito :
Ruby: http://www.ruby-lang.org/pt/
OCI: http://ruby-oci8.rubyforge.org/en/
Quilos de bibliotecas ruby: http://rubyforge.org/
Parabéns pelo artigo cara, muito bem feito, me ajudou bastante.
ResponderExcluirUm abraço!