domingo, 9 de junio de 2013

Toad cargar datos de un Excel

En multitud de ocasiones os podréis encontrar con esta situación en que necesitareis volcar unos datos que se encuentra en Excel a vuestra base de datos.

Vale para este ejemplo vamos a partir de que nos han pasado un listado que contiene información sobre los arquitectos de una determinada zona:


En nuestra práctica solo nos quedaremos con el nombre del arquitecto y su correo electrónico. Suponiendo que vamos realizar un envío masivo de correos electrónicos. Lo primero que tendremos que hacer es crear la tabla en nuestra base de datos donde se volcaran los datos.
Script de creación de la tabla:

CREATE TABLE ANONYMOUS.ARQUITECTOS
(
  ID_ARQ      NUMBER,
  NOMBRE_ARQ  VARCHAR2(100),
  EMAIL_ARQ   VARCHAR2(100)
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
NOMONITORING;


ALTER TABLE ANONYMOUS.ARQUITECTOS ADD (
  CONSTRAINT ARQUITECTOS_PK
 PRIMARY KEY
 (ID_ARQ));

Nota: Omito la parte para crear una clave primaria que sea auto-numérica.

Ahora que tenemos creada la tabla vamos a volcar los datos para ello iremos al menú superior del nuestro Toad.



Seguidamente nos aparece una asistente que nos guiara en el proceso.  En esta primera pantalla tendremos que seleccionar en que esquema se encuentra el objeto el tipo del objeto una tabla en nuestro caso y en nombre el objeto que en nuestro caso es la tabla “ARQUITECTOS”.


Una vez seleccionada la tabla deberemos hacer clic en “show table” y posteriormente pasar el siguiente pasó pulsando el botón “next” que se encuentra en la parte inferior.


En esta nueva pantalla nos pedirá que especifiquemos el tipo de formato de los datos en nuestro caso “.xls” y la ruta donde se encuentra el fichero.


La siguiente pantalla sirve para especificar algunos detalles de la importación, lo dejaremos igual, con los datos que están por defecto.


En esta pantalla es donde seleccionaremos las  columnas que serán importadas son las que esta coloreadas de gris.


Como se ve en la imagen el por defecto a seleccionados esas columnas pero no son las que nos interesa ahora mismo. Ya que los datos que queremos obtener son el nombre y su correo electrónico.
Para cambiar de columna seleccionada en tan sencillo como hacer el clic encima de la columna y asociarlo a la columna de nuestra tabla.


Volviéndose la columna de color gris. La configuración para mi caso se quedaría así:


Pulsamos siguiente y nos lleva a la siguiente pantalla del asistente. En la que tendremos que decirle cual va ser la clave primaria.


También se puede aplicar a los datos expresiones y funciones si hacemos clic en el grid y pulsamos en “expression”.


Para mi caso no voy utilizar ninguna expresión por lo tanto siguiente.

En esta pantalla se muestra una pre-visualización de cómo se insertaran los datos.


En esta última pantalla es donde se especifican algunos de los parámetros para inserción de los datos por ejemplo si realizamos commit o no después de la inserción, etc...


Y por último lo lanzamos y suerteJ. Recordar que podéis jugar con las expresiones para obtener solo los datos que os interesa por ejemplo solo insertar a los arquitectos en la tabla si existe un correo para el arquitecto.