martes, mayo 17, 2011

Lectura de Archivos, y Guardado En BD (SQLLOADER DE ORACLE)

En la entrada anterior vimos como leer un archivo por medio de flatworm, siendo una forma util de guardara informacion sobre una bd.

Oracle nos proporciona una herramienta que nos permite guardar la informacion de un archivo, directamente en las tablas que deceemos.

Algunas ventajas que tenemos son:
* No necesitamos tener a java como intermediario
* No necesitamos configurar nada en oracle, solo tener el cliente completo (tener en el cliente slq loader), o en su defecto ejecutar la aplicacion desde el server
* Automaticamente se crean los archivos de log
* Podemos indicar el numero maximo de errores antes de terminar una aplicacion


Desventajas
* Al igual que cuando modificamos una tabla, esta queda desabilitada hasta que termine de realizarse modificaciones sobre ella


1.- Para hacer uso de esta herramienta, primero crearemos un archivo de configuracion donde indicamos en que tablas guardaremos la informacion del archivo y lo guardaremos con una extension .ctl


load data
replace
into table PRODUCTOS(
EnExistencia                    POSITION(1:5)              char NULLIF EnExistencia=BLANKS
          "TRIM(:EnExistencia)"
Nombre                            POSITION(6:25)            char NULLIF Nombre=BLANKS
          "TRIM(:Nombre)"
Codigo                             POSITION(26:30)           char NULLIF Codigo=BLANKS
          "TRIM(:Codigo)"
FechaInventario                 POSITION(31:40)          char NULLIF FechaInventario=BLANKS
          "TRIM(:FechaInventario)"
Vendidas                          POSITION(26:30)          char NULLIF Vendidas=BLANKS
          "TRIM(:Vendidas)"
)


2.-Ahora Crearemos un archivo con extension .par, el cual contendra la ruta del archivo log, los errores maximos, tambien datos de conexion

USERID=usuarioBD/passwordBD
CONTROL=rutaArchivoCTL
LOG=archivoLog.log
ERRORS=100


3.- Ahora para ejecutarlo, solo abrimos una consola de sql, ya sea del lado del server o en el cliente (recuerda q tiene que tener instalado sql loader) y escribimos los siguiente


sqlldr PARFILE=rutaArchivoPar DATA=archivoALeer


***LISTO, SE EJECUTA LA APLICACION, SE GUARDAN LOS DATOS EN LA BD Y SE CREA EL ARCHIVO DE LOG


ESTA ES UNA FORMA MUY SENSILLA DE GUARDAR DATOS EN UNA BD, SIN PASAR POR JAVA, EL DETALLE ES TENER SQLLDR EN NUESTRO SERVER O EN EL CLIENTE

No hay comentarios:

Publicar un comentario