¿Como llamar a una función PL/SQL desde java?

Java, PL/SQL 1 Comment »

 

Aquí les dejo la función para que puedan ocuparla.

   1:  //Recibe como parámetro un String y retorna un String
   2:   
   3:        private String ExtraerFuncion(String usercode) throws SQLException, Exception, Error{
   4:   
   5:              String sql = "", dato="";           
   6:              sql = "{? = call FN_RETURN_FUNCION(?)}";           
   7:              CallableStatement cs = null;
   8:   
   9:              try
  10:              {
  11:                  cs = sessionManager.getConnection().prepareCall(sql);
  12:                  cs.registerOutParameter(1, Types.VARCHAR);
  13:                  cs.setString(2, usercode);
  14:                  cs.execute();
  15:                  dato = cs.getString(1);
  16:              }
  17:              catch (Exception e)
  18:              {
  19:                  e.printStackTrace();
  20:              }
  21:              finally
  22:              {
  23:                   cs.close();
  24:              }
  25:              return dato;
  26:          }

Aprendiendo Oracle Forms

PL/SQL, Varios 2 Comments »

ORACLE 

          Antes que todo me disculpo ante los lectores que me leen pero debido al trabajo y el estudio he estado un poco alejado del blog, hay muchas cosas que he tenido que aprender entre ellas cosas buenas e interesantes y otras malas y aburridas.

Entre las que no me gustan debo mencionar Oracle forms, lo siento bastante aburrido debido a que es bien “anticuado” a mi parecer, pero es relativamente sencillo de aprender a hacer un mantenimiento sencillo… por lo que si alguien necesita aprenderlo les digo que no tengan miedo porque no es tan difícil realizar mantenimientos. Todo es un trigger y cuando se tiene esa idea ya lo demás es facil.

La versión con la que a veces me toca trabajar es la 6i, es vieja y al compararla con la 10 se podrán dar cuenta que hay muchas diferencias, entre ellas que en la 10 todo puede ser orientado a la web, y se puede meter código java.

Lo bueno de aprender Oracle Forms, es que si alguna vez trabajan con Oracle Financials podrán customizar cualquier forma sin mayor problema y esto es un valor agregado en Oracle Financials.

En lo personal lo siento aburrido, se puede hacer cualquier cosa relacionado con pl/sql de forma mucha mas rápida y sencilla que en un lenguaje de programación, sin embargo me gusta más hacerlo desde java o .net debido a que aprendo más cosas a la vez.

Todo esto pueden practicarlo descargando la base de datos Oracle y las herramientas para desarrollar de Oracle, son gratuitas y tienen todo lo necesario para conocer a fondo Pl/SQL, forms y report.

En uno o dos días pondré todas las herramientas que nos ofrece Oracle para poder programar sin necesidad de comprar nada, como consejo si se adelantan y tienen un ordenador con bastante capacidad les aconsejo que instalen la base de datos Oracle en una maquina virtual para evitar ensuciar la principal con tantos archivos.

Para los que saben Forms, no estoy diciendo que sea fácil totalmente, hay casos donde si se necesita de un nivel mas avanzado pero esto es ya cuando se desea personalizar.

Ejemplos De La Funcion Decode En Oracle

PL/SQL 2 Comments »

    oracle

 

A continuacion les muestro unos ejemplos de la funcion decode en Oracle.

*Las columnas pueden ser tantos campos estaticos como campos de alguna columna de una tabla.

1 Columna = Valor a evalular
2 Columna = Valor con el que se compara la columna uno
3 Columna = Si el valor de la columna dos es igual al valor de la columna uno entonces se muestra este valor
4 Columna = Si el valor de la columna dos no es igual al valor de la columna uno entonces se muestra este valor

   1: select decode('Probando Codigo', 'Probando Codigo', 'www.probandocodigo.com', 'www.whibla.com') Pagina from dual 

Ejemplo con mas condiciones

1 Columna = Valor a evalular

2 Columna = Valor con el que se compara la columna uno

3 Columna = Si el valor de la columna dos es igual al valor de la columna uno entonces se muestra este valor

4 Columna = Valor con el se compara la columna 1

5 Columna = Si la la columna 1 es igual a la columna 4 entonces se muestra este valor

6 Columna = Valor si no se cumplio la condicion de la columna 1 = columna 2 o la columna1 = Columna 4

   1: select decode('Blog', 'Blog', 'www.probandocodigo.com', 'Foro','www.whibla.com','Pagina Default') Pagina from dual 

Como pueden observar, el decode seria muy similar a lo que es el Switch en java o el Case en .Net, una funcion muy importante

y que nos sacara de distintos problemas en distintas etapas en nuestra vida de programador.

Ya en casos donde se requieran mas alternativas entonces se debe usar el Case.

Crear Job En Oracle

PL/SQL 12 Comments »

AutomaticWindingDsc00037

 

       Un job es lo equivalente a una tarea programada en Windows (es el porque de la imagen de arriba…), donde nosotros programamos cada cuando tiempo se debe
hacer por ejemplo una desfragmentaicon del disco, o incluso podemos especificar que dias y a que hora realizarlo,
tambien es similar a la ejecucion automatica de los backup de la base de datos.

A continuacion el query para crear un job en oracle.

What = El nombre del procedimiento almacenado a ejecutar.
nex_date = la fecha y hora en el cual se debe ejecutar el job por primera vez.
intervalo = si pueden observar en el query, el intervalo es la fecha de la ejecucion mas 7 dias.

   1: DECLARE
   2:   X NUMBER;
   3: BEGIN
   4:   SYS.DBMS_JOB.SUBMIT
   5:     (
   6:       job        => X
   7:      ,what       => 'ESQUEMA.PROCEDIMIENTO_PROBANDO_CODIGO;'
   8:      ,next_date  => to_date('11/19/2008 08:49:08','mm/dd/yyyy hh24:mi:ss')
   9:      ,interval   => 'TRUNC(SYSDATE+7)'
  10:      ,no_parse   => FALSE
  11:     );
  12: :JobNumber := to_char(X);
  13: END; 

Si el intervalo es cada 30 minutor seria

   1: interval    => SYSDATE+30/1440 

Si el intervalo es cada domingo seria

   1: interval    => NEXT_DAY(TRUNC(SYSDATE), 'SUNDAY') 

Si el intervalo es el primero de cada mes seria

   1: interval    => TRUNC(LAST_DAY(SYSDATE)) + 1 

y asi sucesivamente.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in