Ejemplo de llamada a una función Java desde Oracle

Oracle permite integrar código Java en el propio motor de base de datos, en esta entrada se muestra un pequeño ejemplo.

El código Java a ejecutar se puede incorporar a la base de datos cargando un archivo .jar mediante la instrucción loadjava (comando de sistema operativo que se encuentra en el directorio BIN de la base de datos) o creándolo directamente de forma similar a como se crea una función, procedimiento o paquete. En este ejemplo se usa esta segunda opción.

El siguiente código recibe por parámetro una fecha, desglosada en 6 campos numéricos (año, mes, día, hora, minuto y segundo) y la devuelve en formato texto:

CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "JavaDate" AS
  package pruebas;
  import java.util.Calendar;

  public class JavaDate {  
    public static String getString(int anho, int mes, int dia, int hora, int minuto, int segundo) {
      Calendar calendar;        
      calendar = Calendar.getInstance();
      calendar.set(anho, mes, dia, hora, minuto, segundo);
      return calendar.getTime().toString();
    }
  }

Una vez está el código Java creado en la base de datos, hay que crear una función o procedimiento para llamarlo:

CREATE OR REPLACE FUNCTION f_javadate(p_anho NUMBER,
                                      p_mes NUMBER,
                                      p_dia NUMBER,
                                      p_hora NUMBER,
                                      p_minuto NUMBER,
                                      p_segundo NUMBER) RETURN VARCHAR2 IS LANGUAGE JAVA
 NAME 'pruebas.JavaDate.getString(int, int, int, int, int, int) return String';

 

Start typing and press Enter to search

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies