La gema rjb nos permite conectar desde ruby mediante un archivo jar a una base de datos usando el driver JDBC.
Yo lo suelo utilizar desde windows en pequeños programas de migración de tablas de una base de datos a otra.
Una vez instalado ruby, para poder instalar la gema rjb, el sistema te pedirá que te descargues e instales el devkit de ruby, un jdk de java y que configures las variables JAVA_HOME.
Es importante que tengas en cuenta que ambas versiones de ruby y java deben de ser de la misma arquitectura para que funcione correctamente. En caso contrario creará la gema rjb pero después cuando la uses desde los programas te aparecerán errores.
En este caso las conexión es una "legendaria" base de datos de firebird por lo que me descargo el correspondiente jar.
Un ejemplo que cuenta los registros de una tabla sería el siguiente.
require 'rjb'
Rjb::load(classpath = 'C:/Software/Jaybird-2.2.11-JDK_1.8/jaybird-full-2.2.11.jar',['org.firebirdsql.jdbc.FBDriver'])
DriverManager = Rjb::import('java.sql.DriverManager')
begin
sen="Select count(*) from TABLA1"
connection = DriverManager.getConnection('jdbc:firebirdsql://ipserver:3050/carpetas_que_contiene_BD/EJEMPLO.gdb','sysdba','masterkey')
statement = connection.prepareStatement(sen)
result_set = statement.executeQuery
while(result_set.next())
puts result_set.getObject(1).toString
end
ensure
result_set.close if defined?(result_set) && !statement.nil?
statement.close if defined?(statement) && !statement.nil?
connection.close if defined?(connection) && !connection.nil?
end