martes, 17 de julio de 2007

Escritura en particiones NTFS: NTFS-3G y fuse

Para poder escribir en particiones NTFS necesitamos dos elementos: FUSE y NTFS-3G
La versión de fuse que viene con suse 10.2 da algún problema así que ha de descargarse desde la página oficial:

1- Descargar desde http://fuse.sourceforge.net/. Ahora instalamos FUSE:
./configure --enable-kernel-module --exec-prefix=/
make
make install

2- Descargar desde http://www.ntfs-3g.org/. Instalamos ntfs-3g
./configure
make
make install

3- Para probarlo desmontamos una unidad ntfs y móntala con mount -t ntfs-3g /dev/hda1 /mnt/windows

4- Para el montaje automático editar el /etc/fstab y cambiar donde pone ntfs por ntfs-3g
este es el ejemplo qe ponen en ntfs-3g:
/dev/hda1 /mnt/windows ntfs-3g defaults 0 0

Si queremos que soporte los acentos debemos añadir:
a)fstab -> /dev/sda2 /windows/E ntfs-3g defaults,nls=iso8859-1 0 0
b) comando -> mount -o nls=iso8859-15 /dev/sda2 /windows/E

miércoles, 11 de julio de 2007

Descompresion tar : gz y bz2

Para descomprimir archivos tar.gz usamos:
tar zxvf archivo.tar.gz

Para descomprimir archivos tar.bz2 usamos:
tar jxvf archivo.tar.bz2

martes, 3 de julio de 2007

Importar datos de excel o de access a oracle: sql loader



En el siguiente post explico cómo pasar de excel a oracle o de access a oracle.

De Excel a Access:

El objetivo es convertir la hoja excel en una tabla access. Podemos realizarlo de alguna de estas dos formas:
a) Abrimos Access e importamos la hoja de excel: Archivo/ importar. Se nos creará una tabla con los datos de la hoja importada
b) Abrimos Access e importamos la hoja excel como una tabla.Para ello en la parte donde se ven las tablas, con el botón derecho le damos a importar. Se creara una tabla con el contenido de la hoja excel.


De Access a Oracle:

1) Antes de exportar una tabla vamos a convertir sus campos:
Pulsamos sobre la tabla que queremos exportar con el botón derecho y seleccionamos "Vista Diseño". Todos los campos debemos convertirlos a tipo de dato texto. Si no lo hacemos es probable que tengamos problemas en la importación con el sqlloader

2)
Exportamos la tabla. Pulsamos con el botón derecho sobre la tabla, y seleccionamos exportar. En "guardar como tipo" seleccionamos "Archivo de texto" y pulsamos exportar. Podemos guardarlo donde queramos, por ejemplo  en el escritorio de windows (C:\Users\dieguz2\Desktop\archivo.csv)

3)
En el asistente seleccionamos: "Delimitado"; como delimitador que separa los campos, en "otro" ponemos | ; no marcamos "incluir nombres de campo en la primera fila"; cualificador de texto las comillas " . Pulsamos siguiente y luego finalizar

4) Abrimos el archivo que hemos exportado y añadimos lo siguiente al comienzo del archivo:
LOAD DATA
INFILE *
INTO TABLE "NOMBRE_DE_TABLA"
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED '"'
TRAILING NULLCOLS
(CAMPO1, CAMPO2)
begindata


El nombre de tabla y los campos tienen que estar en MAYÚSCULAS. La tabla ha de estar creada previamente y estar vacía.

5)
Ejecutamos el sql loader desde el mismo directorio donde hemos guardado el archivo csv o bien ponemos la ruta completa para llegar al archivo ( ej1(windows): control=C:\Users\dieguz\Desktop\archivo.csv   ej2(linux): control=/windows/C/Users/dieguz/Desktop/archivo.csv).
sqlldr usuario/contraseña@instancia control=archivo.csv
Notas extra:

Si queremos que el texto se importe en formato unicode deberemos hacer lo siguiente:
http://dieguz2.blogspot.com/2008/09/sqlloader-unicode-utf8.html