martes, mayo 27, 2008

Configuración de acceso a bbdd de Oracle ADF

Para configurar la base de datos a la que debe acceder los componentes de acceso a datos de Oracle ADF tenemos que modificar el fichero bc4j.xcfg. En ese fichero se define el servidor, el usuario a utilizar, la password (encriptada, el SID, etc.

Etiquetas:

lunes, mayo 26, 2008

Para poner la fecha de hoy como valor por defecto en una entidad de Oracle ADF hay que sobreescribir el método create de la implementación de la entidad.

public class HorariosGeneralesImpl extends EntityImpl {
.
.

.

  /**

  *Add attribute defaulting logic in this method.

  */

  protected void create(AttributeList attributeList) {

super.create(attributeList);

    /* Inicializamos el campo ValidezDesde con la fecha de hoy. */

    setAttributeInternal(VALIDEZDESDE,

    Utilidades.convertirTiposDeFechas(new
java.util.Date()));
  }

.

.
.
}

jueves, mayo 22, 2008

Script para buscar ficheros modificados en fechas determinadas

Es un script que he encontrado para buscar ficheros que hayan sido modificados entre unas fechas determinadas. La idea del script es crear dos ficheros con las fechas que se pasan como parámetros y luego usar el find para hacer la busqueda.

Se podría mejorar de varias maneras:
- Comprobando que se pasan todos los parametros necesarios.
- Poniendo valores por defecto.
- Para la fecha "hasta" habria que poner como valor por defecto la fecha de hoy.
- Si no se pone la fecha completa habria que completarla: 2008 = 200801010000

Este es el script:

# more findBetweenDates
echo "Example of use: findBetweenDates /home/user yyyyMMddhhmm yyyyMMddhhmm"


echo "Searching: findBetweenDates $1 $2 $3"
path=$1
olddate=$2
newdate=$3
oldfile=/tmp/tmpoldfile${2}
newfile=/tmp/tmpnewfile${3}
touch -t $olddate $oldfile
touch -t $newdate $newfile
find $path -type f -newer $oldfile ! -newer $newfile
rm $oldfile
rm $newfile

miércoles, mayo 14, 2008

Ratón y teclado no funcionan en Linux después del arranque

Un problema que me ha llevado todo el día de ayer y parte del de hoy.

El problema es que, al arrancar el equipo en, por lo menos, la mitad de las ocasiones no funciona ni el ratón ni el teclado PS/2. Eso no sucede si lo que conectamos un ratón y un teclado USB, pero para nosotros es obligatorio usar PS/2 porque usamos extensores KVM.

Al hacer un shutdown del equipo aparecen multitud de errores del tipo “psmouse.c: bad data from KBC - timeout bad parity”. Esos mismos mensajes se podían ver en /var/log/messages

También sucedía que al seleccionar la opción de apagar o reiniciar el equipo, al final de todo nos mostraba el error “i8042.c Can't restore CTR. Acpi_power_off called” y el equipo no se apagaba.

Estos son los datos del equipo.

Equipo: HP xw6600 workstation con tarjeta de vídeo NVidia Quadro NVS 440.

Ratón: Logitech PS/2

Teclado: Logitech PS/2

Sistema operativo: Red Hat Enterprise Linux 4 Update 3

Kernel: 2.6.9-34


Solución:
El problema está en alguna incompatibilidad entre la distribución elegida y la tarjeta NVidia. La solución, obtenida de uno de los foros de NVidia después de hacer multitud búsquedas y de pruebas ha sido añadir en el arranque de Linux la opción
pci=nommconf

Para ello hemos editado el fichero de configuración de grub, /etc/grub.conf que queda como sigue:

[root@atopuabpsg1 bin]# more /etc/grub.conf

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,0)

# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00

# initrd /initrd-version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux ES (2.6.9-34.ELsmp)

root (hd0,0)

kernel /vmlinuz-2.6.9-34.ELsmp ro root=/dev/VolGroup00/LogVol00 rhgb quiet pci=nommconf

initrd /initrd-2.6.9-34.ELsmp.img