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)
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