Posts Tagged: oracle


12
ene 10

Utilizar una clase Java en Oracle 10g

No Gravatar

Existen dos formas de subir una clase Java a un esquema. La primer forma solo implica subir el archivo .Class y la segunda sube el archivo .Java


Clase Ejemplo

public class MiClaseOracle{

public static String mensaje() {

return “Mexico lindo y querido”;

}

public static void invierteNumeros(int[] primerNumero, int[] segundoNumero) {

int temporal = primerNumero[0];

primerNumero[0] = segundoNumero[0];

segundoNumero[0] = temporal;

}

}

Subir .Class

Primero se debe de revisar la versión del jdk con la que se compila y la versión del jdk que tiene la base de datos. El comando para revisar la versión es java -version. En caso de que se desee olvidar de esta ambigüedad se debe compilar utilizando el comando localizado en el directorio [ORAHOME]/db_1/jdk/bin/.

Una vez generado el archivo .Class se debe de ejecutar el siguiente comando en la linea de comandos: loadjava -user [usuario]/[contraseña]@[baseDatos] [NombreClase].class

Ejemplo

loadjava  –user  miusuario/mipwd@mibase   MiClaseOracle.class

Subir .Java

Obviamente en este caso se requiere tener el archivo .Java y ejecutar el siguiente comando en la línea de comandos: loadjava -user [usuario]/[contraseña]@[baseDatos] -resolve [NombreClase].java


Ejemplo

loadjava  –user  miusuario/mipwd@mibase -resolve MiClaseOracle.java

Después de haber ejecutado la anterior línea (ojo, no debe de mandar algún aviso la línea de comando) se debe de acceder a la base de datos (utilizando el mismo usuario con la que se ejecuto el comando anterior) y ejecutar el comando alter java class “[NombreClase]“  compile;


Ejemplo

alter java class ” MiClaseOracle”  compile;

Ejecución

Para poder consumir las funciones implementas en la clase MiClaseOracle se deben de crear en la base de datos una función y un procedimiento almacenado.

Función Mensaje


CREATE FUNCTION mensaje RETURN VARCHAR2

AS LANGUAGE JAVA

NAME ‘MiClaseOracle.mensaje() return java.lang.String’;

Procedimiento InvierteNumeros


CREATE PROCEDURE invierteNumeros

( primerNumero IN OUT NUMBER

, segundoNumero IN OUT NUMBER

) AS  LANGUAGE JAVA

NAME ‘MiClaseOracle.invierteNumeros(int[], int[])’;

Consumo

Para verificar la funcionalidad de lo que hemos venido haciendo es necesario escribir y ejecutar el siguiente PL

DECLARE

mensajerecibido VARCHAR2(200);

primerNumero NUMBER;

segundoNumero NUMBER;

BEGIN

primerNumero := 1;

segundoNumero := 9;

invierteNumeros(primerNumero,segundoNumero);

mensajerecibido := mensaje();

DBMS_OUTPUT.PUT_LINE(‘Primer = ‘ || primerNumero || ‘ — Segundo = ‘ || segundoNumero );

DBMS_OUTPUT.PUT_LINE(‘Mensaje = ‘ || mensajerecibido);

END;


Twiter @QBit_Mike

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

11
feb 09

Una nueva herramienta en desarrollo SICAP

No Gravatar

SICAP es una herramienta de colaboración para llevar el control, manejo y ejecución de proyectos de construcción civiles, hidroelectricos, mecanicos e hidráulicos.. El sistema como tarea básica es el encargado de administrar la documentación completa desde que se inicia un proyecto hasta su fin..

Puede que esto nos mantenga ocupados un par de meses, esta desarrollado para la web.. Realizado con C# para ASP.NET y componentes de DevExpress es una chulada visual.. Quizás con algo más de tiempo mientras se continua trabajando en su desarrollo podamos filtrar algunas capturas de pantalla..

Usando un potente motor de BD (Oracle) y como complemento el desarrollo de modelos tridimensionales por ahora solamente como aplicación de escritorio (quizas en un futuro para la web con cualquier engine 3D de flash), es una herramienta muy completa.. competitiva y confiable.. jejeje.!! vaya comercial el que me he lanzado.. n_n

, , , , , , , , , , ,

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

Qbit Mexhico Blog is using WP-Gravatar