Si cargamos un archivo con carácteres UTF-8 txt o csv a través de sqlloader (Cómo convertir archivos a UTF-8) puede ocurrir que al ver la tabla donde la insertamos no se hayan insertado correctamente algunos carácteres. Para solucionarlo, si nuestra base de datos fue creada con unicode podemos cargarlos correctamente añadiendo la sentencia CHARACTERSET UTF8. Por ejemplo:
LOAD DATA
CHARACTERSET UTF8
INFILE *
INTO TABLE "PATRONESUNICODE"
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED '"'
TRAILING NULLCOLS
(IDP,CC,ORGANIZACION,ORIGEN)
begindata
8008;"ES";"Universidad de Granada";"UNESCO";14027
8009;"ES";"Universidad de Huelva";"UNESCO";14270
8010;"ES";"Universidad de Jaén";"UNESCO";14319
Mostrando entradas con la etiqueta SQLLOADER. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQLLOADER. Mostrar todas las entradas
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.csvNotas 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
Suscribirse a:
Entradas (Atom)
-
Está es un pequeño tutorial / guia que explica cómo crear un applet en Netbeans ( corriendo en Linux Opensuse). Para programar un applet en ...
-
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis : echo -e "\n linea 1 \n linea 2 \n...
-
Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_na...