Archivos planos

Quisiera me pudieras ayudar en una duda... Como puedo ingresar datos a una tabla de oracle desde un archivo plano...
De verdad te lo voy agradecer mucho...
1

1 Respuesta

28.525 pts. Actualmente estoy trabajando como Manager en una...
Se pueden insertar datos desde un archivo plano a Oracle de distintas formas pero la más rápida y sencilla es Sql-Loader.
1º- Tendremos que tener un fichero de datos separado por campos.
Ej:
Manuel garcía 34 c/losyebenes
Patricia montes 43 c/elpez
juan dedios 55 avda.losreyes
Como ves en esta muestra los campos van separados por el carácter " " (espacio en blanco).
Creamos un fichero .bat que será nuestro punto de partida.
En él introduciremos por ejemplo:
sqlldr USERID=PEDRO/[email protected] CONTROL=prueba.ctl, LOG=prueba.log, BAD=prueba.bad DATA=prueba.dat
Construimos un fichero de datos tal como te comenté un poco más arriba. (Se puede hacer sencillamente con excel), para que quede con espacios entre las columnas.
Y por último un fichero .ctl que será el que introduzca y lea los datos.
Por ejemplo así:
LOAD DATA
INFILE 'D:\loader\prueba.dat' APPEND
INTO TABLE PRUEBA
(NOMBRE POSITION (1:6) CHAR,
Apellidos position (8:13) char,
Dirección position (15:25) char,
Numero position (27:28),
Población position(30:35) char)
Al ejecutar el fichero .bat irá a leer del fichero .dat que llevará las órdenes des fichero .ctl.
En fin, si sigues rigurosamente las instrucciones de la construcción de los ficheros, será una maniobra sencilla, introducir datos en las tablas, sino, se convertirá en una pesadilla difícil de resolver.
Espero que te solucione tu problema.
Si tienes dudas enviame otra pregunta.
Suerte y que vaya bien.
P.D: Definimos en el fichero .bat una entrada para .bad. eso significa que los registros que no entren bien en la tabla, irán a ese fichero para que tu puedas saber cuales no entraron y meterlos a mano o volver a pasar el loader. Otra cosa:
Debemos poner en el fichero .ctl la clausula APPEND si no queremos que nos borre la tabla antes de empezar a insert registros. Los insertará después del último registro.
Pedro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas