SQL*LOADER (paso a paso)

sqlloader

Para comenzar hay que ser un poco ordenados, y para ello recomiendo crear un directorio llamado “CARGAS” dentro de la unidad C:\> de Windows

dentro de aquella carpeta tendremos los siguientes subdirectorios: LOG_FILES, DISCARD_FILES y BAD_FILES

quedandonos un arbol de la siguiente manera:

+ C:\
|_____+ CARGAS
|      |_______+ LOG_FILES
|      |_______+ DISCARD_FILES
|      |_______+ BAD_FILES

Luego de ello nos dirigimos al SQLPLUS desde Inicio/todos los programas/Base de Datos Oracle 10g Express Edition/Ejecutar Línea de Comandos SQL

ahora debemos crear un usuario y con él crear una tabla para cargar los datos, para ello haremos lo siguiente:

1.- primero que todo nos vamos a SQL*PLUS e iniciamos sesion como sysdba

SQL> conn / as sysdba
Conectado.

2.- luego creamos un usuario

SQL> create user user1 identified by pass1;
Usuario creado.

3.- asignamos una cuota al usuario (por ser solo un ejemplo tabajaremos con el tablespace system)

SQL> alter user user2 quota 10m on system;
Usuario modificado.

4.- damos privilegios de conexion y creacion de tablas al usuario

SQL> grant create table, connect to user2;
Concesi¾n terminada correctamente.

5.- y finalmente nos conectamos en nuestro usuario creado

SQL> conn user2/pass2
Conectado.

6.- creamos nuestra tabla de ejemplo

SQL> create table tabla_destino(
2  nombre varchar(20),
3  edad integer,
4  salario integer);

Tabla creada.

Bueno ahora que tenemos la base lista, debemos crear un archivo de control y un archivo de datos.
-El archivo de control es el que se dedicara a ver como estan organizados los datos para poder cargarlos en la BD y en nuestro caso lo guardaremos con el nombre control.ctl.
-En cuanto al archivo de datos este contiene los datos que serán cargados en la BD y lo guardaremos con el nombre datos.dat.

####################
##    Archivo de Datos      ##
####################

Arturo Tocarruncho  40   500000
Luis Perez          30  1000000
Sandra Gil          20    90000

————————————————————————————————————

NOTA: Estos datos estan organizados de la siguiente manera, los 20 primeros caracteres corresponden al nombre, desde el caracter 21 al 23 corresponderá a la edad y desde el caracter 24 al 31 corresponderá al salario.

————————————————————————————————————

####################
##    Archivo de Control   ##
####################

LOAD DATA
INFILE ‘datos.dat’
INTO TABLE tabla_destino
(NOMBRE         POSITION(01:20)      CHAR(20),
EDAD           POSITION(21:23)      INTEGER EXTERNAL,
SALARIO        POSITION(24:31)      INTEGER EXTERNAL)

————————————————————————————————————

NOTA: Explicar como funciona un archivo de control esta fuera de este tutorial, pero ya que este archivo de control funciona sobre tablas vacias solamente, para hacerlo funcionar sobre tablas con valores existentes se le debe añadir antes del INTO TABLE tabla_destino, la clausula APPEND.

————————————————————————————————————

ahora que tenemos los dos archivos los ubicamos dentro de la carpeta CARGAS, quedandonos de la siguiente manera:

+ C:\
|__+ CARGAS
|      |_______+ LOG_FILES
|      |_______+ DISCARD_FILES
|      |_______+ BAD_FILES
|      |_______+ control.ctl
|      |_______+ datos.dat

ahora que tenemos ubicados los archivos, abrimos una consola desde ejecutar (tecla super+r), escribimos “cmd” y damos click en aceptar.

luego que nos aparecio la consola, escribimos lo siguiente:

>cd C:\cargas

C:\cargas>

ahora que estamos ubicados dentro del directorio, escribimos el comando que cargará los datos:

C:\cargas>sqlldr userid=user1/pass1 control=control.ctl data=datos.dat log=log_files/control.log

Parámetros Comunes

* userid=USUARIO/CONTRASEÑA@BASE Usuario, contraseña e instancia a la que te conectas.

* control Ruta del archivo de control que contiene las directivas de lo que se va a hacer.

* data Ruta del archivo que contiene los datos.

* log Ruta del archivo donde quieres que se genere el log.

* discard Ruta del archivo donde quieres que te envíe los registros descartados y no cargados.

* bad Ruta del fichero donde van a parar los registros malos.

y listo, ya estarían cargado los datos dentro de nuestra tabla, para corroborar simplemente hacemos un select a la tabla que insertamos los datos, espero que les ayude por lo menos para hacer alguna tarea o disertación.

Leave a Reply