Loadjava y Dropjava en Oracle

1. Loadjava

Las bases de datos Oracle incluyen un compilador de JAVA y una JVM. Esto va a permitir a los desarrolladores que utilicen este lenguaje de programación (PL/SQL) crear objetos almacenados, procedimientos, funciones, disparadores…

Se podrán también compilar programas Java directamente en la base de datos, de este modo también podemos encontrarnos clases de java creadas de forma convencional que se encuentran fuera de la base de datos, este es el caso en el cual interviene la utilidad loadjava. A través de esta utilidad podemos cargar código fuente java y clases dentro de nuestras bases de datos ORACLE.

Esta utilidad se encuentra a partir de la versión de base de datos 8.1.5.

Para ejecutar esta utilidad se requiere tener una serie de privilegios dentro de nuestro esquema (esquema en el que vayamos a cargar las clases java).

En caso de que vayamos a cargar clases dentro de un esquema que no sea el nuestro los privilegios que tenemos que tener son los siguientes:

Si queremos cargar una clase java dentro de nuestra base de datos lo haremos de la siguiente forma:

C:\oracle9i\bin loadjava -user scott/tiger clasejava.java

El ejecutable loadjava se encuentra dentro de ORACLE_HOME>in
También podemos cargar archivos .jar con ese ejecutable.

Para ver todas las posibilidades que tenemos con la utilidad loadjava podemos verlo escribiendo en nuestra línea de comandos loadjava.

2. dropjava

Al igual que podemos cargar estos objetos dentro de nuestra base de datos podemos también eliminarlos a través de la utilidad dropjava. Esta utilidad se encuentra en la misma ubicación que loadjava. Puede eliminar clases de java o ficheros .jar

C:\oracle9i\bin>dropjava -u scott/tiger claseJava.class

Para ver las opciones que presenta esta utilidad, hacemos lo mismo que con la utilidad loadjava y escribimos en la línea de comandos dropjava.

Como alternativa podemos utilizar en la línea de comandos el paquete dms_java.dropjava para eliminar las clases de java contenidas en nuestra base de datos:

SQL> call dbms_java.dropjava('......');

About: admin


2 thoughts on “Loadjava y Dropjava en Oracle”

  1. Está muy buena tu explicación, pero estoy intentando cargar una clase que la compilé por fuera de oracle con el loadjava, pero me da el siguiente error:

    Warning: JIT compiler «sunwjit» not found. Will use interpreter.

    Error while creating class Hello

    ORA-00406: COMPATIBLE parameter needs to be 8.1.0.0.0 or greater

    loadjava: 1 errors

    Nota: estoy usando el oracle 8.1.7

    Gracias

  2. Para la base de datos y modifica el parametro COMPATIBLE en el init.ora por uno compatible o mayor e intenta de nuevo realizar el loadjava.

    COMPATIBLE=8.1.0.0.0

Deja una respuesta

Tu dirección de correo electrónico no será publicada.