Ver Mensaje Individual
  #20 (permalink)  
Antiguo 26/11/2002, 15:13
Avatar de Linterns
Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
BD: Oracle 9i

Pregunta: Como importar datos desde un archivo de texto

Respuesta: LOAD DATA
INFILE *
INTO TABLE aqui_la_tabla
APPEND
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED '"'
TRAILING NULLCOLS
(nombre, apellido, nacimiento date(10) 'MM/DD/YYYY')
BEGINDATA
JUAN JOSE|MENDEZ|15/08/1970
MARIA|HERNANDEZ|30/06/1945

EN DONDE:
Aqui_la_tabla: es la tabla donde deseas importar los datos.
nombre,apellido, nacimiento: los campos que vas a insertar.

este archivo lo guardas con una extension CTL y luego desde <oracle_home>\bin tecleas lo siguiente:

sqlldr miusuario/mipasword@mibase personas.ctl rows=10 errors=30000

en donde:
miusuario: Usuario de la Instancia
mipassword: Password asignado
mibase: Nombre de la base de Datos que estas utilizando
personas.ctl: nombre que le diste al archivo que antes era .txt
rows=10 : Significa que cada 10 registros ira haciendo COMMIT
errors=30000 : Significa el numero de errores que te puede soportar

Esto te generara dos archivos... uno .log y uno .bad ... El primero te muestra si se migraron bien o no los datos y el segundo te muestra los archivos que no fueron insertados en la base de datos y te muestra ademas cual fue el error.

NOTA: En este caso los archivos los tengo separados por "|"... si tu los tienes separados por "," o por un tabulador u otro caracter especial tienes que decirle en la parte FIELDS TERMINATED BY '|' OPTIONALLY
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***