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 respuesta
Respuesta de pedrito12
1
1
pedrito12, Actualmente estoy trabajando como Manager en una multinacional de...
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/PEDRO123@INSTANCIA 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