Ver Mensaje Individual
  #8 (permalink)  
Antiguo 03/04/2007, 04:43
un_tio
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 3 meses
Puntos: 6
Re: Importar datos a Tabla Oracle

Subo este tópic.

Cita:
Iniciado por Linterns Ver Mensaje
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
Hola, tengo el mismo problema que resolver. Considero muy útil dicho código.

Pero me gustaría saber cuál sería la mejor forma para realizar dichas acciones (y si a día de hoy no habrá cambiado en nuevas versiones del Oracle), a través de una aplicación web asp.net. Me imagino que la primera parte seguiría igual, ¿pero y la segunda? ¿Tendría que ejecutar el <oracle_home>bin? ¿No se puede realizar desde sentencias SQL?

En resumen, lo que quiero es importar unas tablas (que vendrán en formato texto) a Oracle, y que lo haga una aplicación web conectada a la base de datos: ¿no se puede cargar directamente sin crear el fichero de control?. Ignoro si dichas sentencias se pueden utilizar sin más para mi propósito, o si con el paso del tiempo (han pasado ya dos años desde que se abrió este tópic) ha cambiado algo.

Un saludo y gracias

Última edición por un_tio; 03/04/2007 a las 05:07