22 may 2009

OUTLOOK 2003 - No muesta imagenes incrustadas

Hola!!

Hoy estuve varias horas peleando con el Outlook 2003, pero no me vencio al final... jeje

Sintomas:

Cuando se crea un correo y se reeenvia las imagenes en el texto son reemplazadas por cuadros vacios con una pequeña equis roja.

Al momento de reenviar el correo las imagenes pueden o no reaparecer.

Detalle del Error:

MS outlook utiliza una carpeta temporal para descargar los archivos, cuando esta carpeta recibe algun archivo corrupto puede provocar comportamientos inesperados.

Solucion:

1. Buscar la carpeta de achivos temporales del Outlook 

EJ: C:\Documents and Settings\rbarrios\Configuración local\Archivos temporales de Internet\OLK409

Nota: el utlimo tramo puede cambiar, para saber cual es pueden abrir un archivo desde un correo y al darle guardar como podran ver la ruta completa del directorio.

2. Borren todo el contenido de la carpeta.

3. Reinicien el outlook

Con esto cuando Outlook reciba informacion adicional como imagenes o adjuntos y no los tenga en el cache los descargara correctos.

espero les sirva!!

La referencia en ingles esta aqui

8 may 2009

Usar Google Earth con un proxy o ISA

Amigos buenos dias!!

Si por algun motivo sus usuarios necesitan accesar al google earth se van a encontrar con que no les deja conectarse al servidor.

La solucion es bien sencilla:

1. Agreagar a la lista de servidores autorizados los 3 siguientes con protocolo HTTP (80)
kh.google.com
maps.google.com
auth.keyhole.com

2. el google earth toma la configuracion del Internet Explorer del proxy.
Herramientas -> Opciones -> Conexiones -> Configuracion Lan
Ahi se coloca la configuracion del proxy.

Espero les sirva

La referencia de Google esta aqui

19 feb 2009

PL/SQL Usar MD5 en un trigger

Hola!!

Estamos desarrollando una nueva solucion de intranet, y necesitabamos almacenar las contraseñas de usuarios en un entorno "Relativamente" seguro. Por lo que se decidio dejarlas en la BDD con MD5 y realizar la validacion cada vez que el usuario envia la contraseña.

Para optimizar el proceso, todos los usuarios tendrian de clave inicial una palabra comun y ellos en su primer acceso tendrian que actualizarla.

Para que este proceso se llevara a cabo a nivel de base de datos y no de WEB se utilizaria la funcion DBMS_OBFUSCATION_TOOLKIT.MD5. Sin embargo truco para usar esta funcion es que hay que forzar el descriptor del parametro, de lo contrario Oracle envia el mensaje:

PLS-00307: too many declarations of 'MD5' match this call

Esto se debe a que hay dos declaraciones de la misma funcion con el tipo de ingreso.
1. DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT: RAW)
2. DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING: VARCHAR2)

SOLUCION: Forzar el tipo de parametro que recibira la funcion.
DBMS_OBFUSCATION_TOOLKIT.MD5(input_string=>'usuario');

Aca les dejo todo el trigger por si les sirve de referencia:

create or replace trigger "TABLA1_BI"
BEFORE insert on "TABLA1" for each row
declare
raw_data VARCHAR2(100);
texto_cifrado VARCHAR2(100);
begin
--Convierte la cadena DOSPINOS a MD5
raw_data :=
DBMS_OBFUSCATION_TOOLKIT.MD5(input_string=>'usuario');
--Convierte el MD5
crudo a datos legibles
select lower(rawtohex(raw_data)) into texto_cifrado
from dual;
--Asigna al nuevo campo el dato en MD5 legible
:new.password
:= texto_cifrado;
--imprime el debug para ver que devuelve la funcion
--DBMS_OUTPUT.put_line('texto_cifrado 'texto_cifrado);
end;

Las fuentes que use de ejemplo estan Aqui y Aqui

14 ene 2009

Error en Excel al leer CSV


Hola!!

El dia de hoy estuvimos trabajando unos datos y al exportarlos como CSV el excel no los leia correctamente.

Segun la Wikipedia un CSV se define como: Los ficheros CSV (del inglés comma-separated values) son un tipo de documento sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas (o punto y coma en donde la coma es el separador decimal: España, Francia, Italia...) y las filas por saltos de línea. Los campos que contengan una coma, un salto de línea o una comilla doble deben ser encerrados entre comillas dobles.

El formato CSV es muy sencillo y no indica un juego de caracteres concreto, ni cómo van situados los bytes, ni el formato para el salto de línea. Estos puntos deben indicarse muchas veces al abrir el fichero, por ejemplo, con una hoja de cálculo.

Los sintomas eran:
- Al abrirlo lo mostraba todo en una celda
- Al guardarlo usaba como separador de campos un punto y coma en lugar de una coma.

La solucion es bastante sencilla:
0. Vayan al Panel de Control
1. Seleccionen Configuracion Regional y de Idioma
2. Seleccionen el boton PERSONALIZAR que esta junto al lenguaje.
3. En la nueva ventana busque la opcion SEPARADOR DE LISTAS y cambien en ; por una ,
4. Acepten y apliquen todo hasta regresar al panel de control

Listo!! con eso deberian de poder manejar los CSV normalmente.

5 ene 2009

Compactar un archivo PST

Hola!!

Buenos dias, Feliz 2009!!

Una practica muy comun al inicio de año para los que usamos Outlook es trasladar todo el correo del año anterior a un PST secundario, sin embargo al realizar esto se corre el riesgo que en lugar de reducir el espacio en disco dupliquemos el mismo.

Para compactar un PST despues de mover y eliminar los correos deseados hay que realizar lo siguiente:
1. En el menú Archivo, haga clic en Administración de archivos de datos.
2. Haga clic en el archivo de datos que desea compactar y, después, en Configuración.
3. Haga clic en Compactar ahora.

Despues de realizar esto no es necesario reiniciar el outlook.

Espero les sirva

La fuente esta aca

19 dic 2008

Como convertir videos 3gp a un formato de PC


Hola!!

Hoy estuve navegando un poco por el internet, ya que a solicitud de un amigo queria pasar sus videos tomados con el telefono a su PC para poder verlos.

Sin embargo al ser archivos 3GP su PC no los reconocia, por lo que no podia verlos.

Aqui teniamos dos opciones.

1. Instalar el Quick Time Player que permite ver los archivos 3GP
2. Buscar un convertidor para pasarlo de 3gp a AVI, MPG o WMV

Al final nos fuimos por la segunda opcion y despues de probar varios Freeware y Demos llegamos a la conclusion que el mejor es Coyote Video Converter.

Este requiere de 3 pasos.
1. Seleccione los archivos que desea convertir
2. Configure el formato de salida y la carpeta donde los desea guardar.
3. Presione convertir.

Y listo!!

Consideraciones Finales:
1. La mayoria de telefonos toman los videos en resolucion QVGA, esto significa que lo toman en un cuarto de VGA(640 X 480) entonces la resolucion maxima es 320 X 240.
2. Hay que probar los diferentes codecs al momento de convertir el video, puede ser que aparezcan cuadros de colores o cosas extrañas, no se daño su archivo, solo hay que cambiar de codec.
3. Se debe de investigar cual es la resolucion maxima de video del telefono y seleccionar esa al momento de convertirlos para mantener la relacion de aspecto.

El homepage del software esta aqui
Puedes descargar directamente el Programa aqui

18 dic 2008

Muchas Gracias!! / Thank You !!

Hola!! Cuando inicie este blog esperaba mi meta era ayudar a algunos usuarios, pero hoy revisando las estadisticas veo que ya hay mas de 11,000 hits!! eso para mi es todo un logro, y espero que al menos el 10% haya encontrado util la informacion que he posteado aqui.

--------------------------------------------------

Hi!! When I started this blog, my goal was to help a few users, but today checking my stats I see more tan 11,000 hits!! For me this is great news, and I hope that at least 10% found the information that I posted here useful.

9 dic 2008

PL/SQL Recorrer un cursor

Buenos dias,

Cuando se esta realizando un recorrido sobre un cursor en PL/SQL un metodo practico de realizarlo es a traves de LOOP ... END LOOP. Para el caso de la variable que contendra el registro activo, esta se define en la creacion del ciclo y para utilizar los datos se maneja variable.dato (ej. c.nombre)


FOR d IN c_descuentos LOOP
   --El cursor que vamos a recorrer es C_DESCUENTOS
   --El registro activo esta en la variable d
   insert into hist_descuentos(codigo,fecha_inicio,fecha_fin)
   values(d.cod,d.fini,d.ffin);
END LOOP; -- Descuentos


los LOOP se pueden usar anidados siempre tomando en cuenta el scope de cada cursor, para que no les de un problema de acceso a datos o un comportamiento inesperado.

La referencia en ingles esta aca

PL/SQL Cursores

Buenos dias,

Los cursores en Oracle pueden ser de varios tipos, sin embargo los dos mas usados son:
1. Cursores implicitos: Son aquellos que devuelven un unico valor usando SELECT INTO.
Select nombre into V_nombre
from VNT_empleado
where cod_empleado = '123321';

2. Cursores explicitos: Son aquellos quedevuelven un conjunto de registros, puden o no contener parametros para filtrar el contenido que devuelven.  Utilizan la instruccion CURSOR IS
Cursor C_empleados is
Select cod_empleado, nombre, area
from VNT_empleado
where cod_area in ('01','03');
Para poder crear un cursor con parametros estos se deben de definir en el encabezado de la instruccion CURSOR NOMBRE(PARAMETROS) IS
Cursor C_empleados(p_compania in varchar2) is
Select cod_empleado, nombre, area
from VNT_empleado
where cod_compania = p_compania;

Espero les sea de utilidad, cualquier cosa no duden en escribirme

Hay todo un manual muy completo de cursores aca

3 nov 2008

Activar / Desactivar USB Drives

Hola!!

Por requerimientos de seguridad en mi oficina, me requirieron fuera deshabilitado el uso de Memorias USB o discos USB en las PCs.

Despues de buscar un rato, la solucion es mas sencilla de lo que parece.

1. Abrir el REGEDIT

2. Buscar la llave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor

3. Al dar doble Click los valores son (3 = Activado, 4 = Desactivado)

PD. Si no desean modificarlo manual, adjunto el RAR con los dos REGISTROS aqui

El documento original esta aqui