Llamar a procedimientos PL/SQL de Oracle con ruby-plsql

Buscando una manera mas sencilla de poder llamar a procedimientos almacenados de Oracle pl/sql, encontré la gema ruby-plsql que es una simple API para procedimientos almacenados en oracle, su uso es muy sencillo como el siguiente:

Si tenemos el siguiente paquete:


CREATE OR REPLACE PACKAGE BODY scott.pck_prueba IS
    PROCEDURE LeeDatos(p_in VARCHAR2, p_out OUT VARCHAR2) IS
       BEGIN
       p_out := 'Se introdujo: ' || p_in;
    END;
END;

Ahora dentro del código, como ejemplo dentro del controlador:


require “ruby_plsql”
class UsuariosController < ApplicationController
  def index
    @usuarios = Usuario.all
    plsql.connection = OCI8.new(”SCOTT”, “PASS”)
    @hola = plsql.pck_prueba.LeeDatos(”Hola desde Oracle”)
    plsql.logoff
  end
end

Y para mostrar el dato, en la vista:


<%= @hola[:p_out] %>

Para poder instalar la gema solamente teclee:

[sudo] gem install ruby-plsql

Realmente me facilito bastante el trabajo, me gusta el concepto y el uso que engloba la metaprogramacion.

Nota.- Trabajando con la gema note que no trabaja en procedimientos con variables de entrada y salida, sino solamente de entrada o salida.

Salio a la luz ruby enterprise edition

Salio rubyenterprice ideal para servidores de alto trafico, vps, hosting compartido, mejora en el consumo de memoria, una gran alternativa a los clasicos mongreles.

Mejorar la conexión a Oracle con Rails 2.1

Dentro del trabajo con Oracle y Rails, existen dos gemas que nos permiten conectar y manipular los datos estas son las gemas OCI-8 y active-record-oracle-adapter, pero existen algunos fallos dentro del Active-Record-Oracle-Adapter, uno lo indique en un post anterior, es por eso que en rayapps se escribe sobre como mejorar algunas cosas a este adaptador, es por eso que el autor de esos post publica ahora una gema que tiene incluido los patch y algunas mejoras esto es la gema activerecord-oracle_enhanced-adapter

Su instalación es simple:

gem install activerecord-oracle_enhanced-adapter

Tiene muchas características que se describen aquí.

Para su utilización simplemente se debe cambiar dentro del database.yml el adapter de oracle a oracle_ enhanced

development:

adapter: oracle_enhanced

database: wiebia

username: scott

password: gotama

Un gran aporte para los que trabajamos con oracle

Lanzamiento de Rails 2.1 y ruby 1.8.7

Parece que la RailsConf 2008 nos tiene traera bastantes sorpresas ya que anuncian el lanzamiento oficial de la version 1.8.7 del lenguaje de programacion ruby, que esta lista para bajar desde aqui.

Ademas se lanza oficialmente la tan esperada version 2.1 de Rails, que creo esperaron para lucirse en la RailsConf 2008, si quieres aprender/saber sobre las nuevas caracteristicas de Rails que ofrece las encontraras en :

Rails Cast para Rails 2.1.

Y por ultimo se anuncia la version 2.0 de Passanger, que soporta ahora Rack.

Tantas buenas noticias para un lunes :D