Existe una manera de poder utilizar métodos desarrollados en java desde PL/SQL con la finalidad de poder aprovechar toda la potencia y flexibilidad de un lenguaje de programación orientado a objetos.

Para esto debemos cumplir con los siguientes puntos:

Crear una clase con un método estático público y que utilice variables de entrada/salida con tipos de datos simples

public class Factorial {
   public static int calcFactorial ( int n ) {
      if ( n == 1 ) return 1;
      else return n* calcFactorial ( n –1 );
   }
}

Cargar la clase java desde su código fuente (.java) o utilizando el archivo compilado (.class)

loadjava

Teniendo en cuenta que oe/oe vendría siendo usuario/password y que el comando debe ser ejecutado desde la carpeta bin de la instalación de oracle (donde se encuentran los binarios)

Como último paso se debe crear una función en la base de datos que sea la encargada de ser el puente entre la base de datos y la clase de java

CREATE OR REPLACE FUNCTION plstojavafac_fun (N NUMBER) 
RETURN NUMBER AS
LANGUAGE JAVA
NAME ‘Factorial.calcFactorial (int) return int’ ;

Finalmente utilizar la función creada desde PL/SQL

SELECT plstojavafac_fun (5)
FROM dual;

PLSTOJAVAFAC_FUN (5)
——————————
120

Para mas información pueden ahondar directamente en la documentación de oracle: http://docs.oracle.com/cd/A87860_01/doc/java.817/a81358/02_load3.htm


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *