viernes, 3 de febrero de 2012

Parseo cadenas pl/sql

Algo que a veces es util en pl/sql es el parseo de cadenas delimitadas por algun caracter, buscando en la red, encontre este ejemplo que me sirvio bastante para un procedimiento que hice de carga de archivo, es el siguiente:
declare
  string_to_parse varchar2(2000) := 'abc,def,ghi,klmno,pqrst';
  l_count number;
  l_value   varchar2(2000);
begin
  string_to_parse := string_to_parse||',';
  l_count := length(string_to_parse) - length(replace(string_to_parse,',',''));
  -- In oracle 11g use regexp_count to determine l_count
  for i in 1 .. l_count loop 
    select regexp_substr(string_to_parse,'[^,]+',1,i)
    into l_value
    from dual;
    dbms_output.put_line(l_value);
  end loop;
end;
Ese codigo lo que hace es parsear la cadena "string_to_parse" y mostrarla con un dbms_output, es solo cuestion de adecuar el codigo dependiendo de cada necesidad. La importancia del parseo es usar la funcion regexp_substr, lo que hace es extraer un token dependiendo de la expresion regular que se le de, en este caso la expresion regular es: '[^,]+' , que en resumen, se use la "coma" como separador del texto.

Obtener parametros del contexto (Java Web)

Cuando se crea una aplicacion web en java, a veces surge la necesidad de configurar parametros en ella, estos para que se puedan recuperar en el codigo, y para que se puedan cambiar desde el http server. Para eso se tiene que mapear en el archivo web.xml de la aplicacion, como a continuacion se muestra: <

 
 
 APPS_NAME
 valor del parametro


Luego para recuperar el valor para "APPS_NAME", se realiza por medio del contexto de la aplicacion, de la siguiente manera:

String nombreObjeto = this.getContext().getInitParameter("APPS_NAME");

De esta manera recuperamos el valor del parametro.

jueves, 2 de febrero de 2012

Validar numeros enteros en Java

Una forma de validar números enteros en java (aunque no la mas elegante) es instanciar un objeto Integer y capturar la excepción, simplemente si se dispara la excepción no es numero entero, fácil y simple.

private static boolean isNumeric(String cadena){
 try {
  Integer.parseInt(cadena);
  return true;
 } catch (NumberFormatException nfe){
  return false;
 }
}

miércoles, 1 de febrero de 2012

Recorrer un HashMap

El uso de un hashmap en Java es una gran utilidad para almacenar datos, pero casi siempre se olvida como recorrerlo, aqui esta la solucion:

HashMap  map = new HashMap();
map.put("clave1","valor1");
map.put("clave2","valor2");
Iterator itr = map.entrySet().iterator();
while (itr.hasNext()) {
  Map.Entry e = (Map.Entry)itr.next();
  System.out.println("clave: "+e.getKey()+"valor:"+e.getValue());
}

Va de Nuevo

Veo que descuide un poco el blog, ya un año sin ninguna entrada, ahora si iré posteando frecuentemente, que post como esos le ayudan mucho a realizar diferentes tareas. Saludos

sábado, 31 de diciembre de 2011

Feliz Año Nuevo

Hace bastante tiempo no posteo nada, y tengo bastantes tips/soluciones de problemas presentados y resueltos, espero que en este otro año que viene, logre postear mas

lunes, 22 de marzo de 2010

Recuperar password en MySQL

A quien no le ha pasado, no recordar el password que se fijo al momento de instalación de la base de datos de mysql, a muchos, aqui hay una manera facil de restaurarla.
primero nos vamos a la ventana de comandos y ejecutamos

mysql -u root

con esto entraremos al bash de mysql, luego

use mysql

para cambiar la base de datos, luego ejecutamos la siguiente instruccion:

update user set password=PASSWORD("sa123") where user='root';

Con esto lo que hacemos es setearle el password "sa123" al usuario "root", esto sirve para cualquier usuario dentro de la base de datos.
Luego los privilegios y salir

flush privilegies;

quit;

y con esto ya seteamos un nuevo password para nuestro usuario root.