Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

de excel a oracle

Estas en el tema de de excel a oracle en el foro de Oracle en Foros del Web. lei en http://www.forosdelweb.com/showthrea...r+excel+oracle como hacerlo, ademas en http://www.orafaq.com/faqloadr.htm#WHATIS tambien hay informacion. pero no entiendo lo siguiente: el LOAD DATA lo ejecuto desde toad y me ...
  #1 (permalink)  
Antiguo 09/05/2006, 17:32
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
de excel a oracle

lei en
http://www.forosdelweb.com/showthrea...r+excel+oracle
como hacerlo, ademas en
http://www.orafaq.com/faqloadr.htm#WHATIS
tambien hay informacion. pero no entiendo lo siguiente:
el LOAD DATA lo ejecuto desde toad y me manda error
ademas donde esta <oracle_home>bin?


Muchas gracias por sus respuestas
Atte
Mauricio
__________________
Dios es mas grande que tu problema :-)
  #2 (permalink)  
Antiguo 09/05/2006, 20:33
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
por ejemplo tu tienes una data en excel la cual puede sexportar a un archivo plano y lo exportas separado por "|" (sin las comillas) con lo cual obtendras algo asi:

Código:
JUAN JOSE|MENDEZ|15/08/1970
MARIA|HERNANDEZ|30/06/1945
ahora abre ese archivo y le agregas lo siguiente:

Código:
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
En donde cambias el nombre de la tabla y describes cada campo que vas a importar. dicho archivo cambiale extension a CTL

luego abres una sesion de CMD (ambiente DOS) y te vas al archivo BIN que se encuentra en tu <oracle_home> (que no es mas donde instalaste el Oracle ej c:\oracle\product\10.0.01\bin ; ahi teclea:

Código:
sqlldr miusuario/mipasword@mibase personas.ctl rows=10 errors=30000
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
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 10/05/2006, 07:13
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
En mysql hay un load data que se ejecuta en myadmin y lee desde el path dado un archivo csv separado por ";" .
Ocurre que tengo que llegar a un procedimiento almacenado que de forma automatica realice este proceso.
Muchas gracias por tu respuesta.
Atte
Mauricio


Una cosa. yo actuo como usuario de oracle, es decir esta en el server con unix
__________________
Dios es mas grande que tu problema :-)

Última edición por maurimono; 10/05/2006 a las 08:08
  #4 (permalink)  
Antiguo 10/05/2006, 08:36
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Pues si es a traves de procedures y LOAD DATA como dices simplemente debes decirle la ubicacion donde esta el CSV y por el que esta separado

Ej:

Código:
load data
          infile 'misdatos.csv'
		  into table tabla_a_actualizar
          fields terminated by "|" optionally enclosed by '"'		  
          ( nombre, apellidos, direccion, nacimiento )
Como podras ver yo tengo los archivos separados por "|" pero tu simplemente cambia esa sintaxis por la debida separacion que le has realizado a los campos.
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #5 (permalink)  
Antiguo 10/05/2006, 09:48
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
tengo este procedimiento:
Código HTML:
CREATE OR REPLACE procedure importa_comisiones is
begin
 load data infile 'C:\120406.csv'
		  into table comi
          fields terminated by ";" optionally enclosed by '"'		  
          (RUT,NOMBRE,CUENTA)
end comisiones
/
me dice: PLS-00103: Se ha encontrado el símbolo "DATA"

pero si en:

Código HTML:
execute immediate 'load data infile 'C:\120406.csv'
		  into table comi
          fields terminated by ";" optionally enclosed by '"'		  
          (RUT,NOMBRE,CUENTA)'
me reclama por 'C:\120406.csv'

Uf....
como sera que hay que escribirlo?
__________________
Dios es mas grande que tu problema :-)
  #6 (permalink)  
Antiguo 10/05/2006, 10:57
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Nota Aclaratoria: Load Data se interpreta por el ejecutable SQLLDR
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***

Última edición por Linterns; 10/05/2006 a las 11:03
  #7 (permalink)  
Antiguo 30/06/2006, 10:27
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
en :
http://www.cs.us.es/cursos/bd-2001/p...practica5.html

hay mas informacion al respecto

Ha. algo importante, al tratar de ejecutar sqlldr desde DOS me envió un error. esto era por que no estaba instalado. jajaj, tenia la instalacion tipica.
__________________
Dios es mas grande que tu problema :-)

Última edición por maurimono; 05/07/2006 a las 12:51
  #8 (permalink)  
Antiguo 01/03/2007, 11:02
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
Re: de excel a oracle

me ha servido mucho a mi también... pero ...

saben de alguna forma de hacer lo mismo al revés? es decir de pasar los datos de una tabla a un cvs?

o de hacer un backup de una base-usuario?

saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #9 (permalink)  
Antiguo 01/03/2007, 22:01
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Re: de excel a oracle

para extraer informacion de una tabla a un archivo, la facil es utilizar el mismo sql*plus con un "spool", podria ser tambien a travez de UTL_FILE

para hacer un backup de un usuario se utiliza import-export
__________________
Blogzote.com :-) Mi blog
  #10 (permalink)  
Antiguo 02/03/2007, 09:12
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
Re: de excel a oracle

graciasssssss
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #11 (permalink)  
Antiguo 03/03/2007, 11:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: de excel a oracle

Gracias si funcionan las instrucciones!!!!!!!!!!!!!!!
  #12 (permalink)  
Antiguo 15/11/2007, 05:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 21
Antigüedad: 17 años
Puntos: 0
Re: de excel a oracle

¿Y si quiero cargar algún dato de tipo NUMBER? Para los date utilizo un DATE(10) 'yyyy-MM-dd'. Es que necesito que sea de tipo NUMBER y no de tipo CHARACTER o VARCHAR2...Puede alguien ayudarme??

MUCHAS GRACIAS!!!
  #13 (permalink)  
Antiguo 16/11/2007, 13:02
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años
Puntos: 3
Re: de excel a oracle

Usas INTEGER EXTERNAL...

example...

LOAD DATA
INFILE '/home/mario/prueba.txt'
TRUNCATE
INTO TABLE TABLE_FORO_DEL_WEB
TRAILING NULLCOLS
( FECHA DATE "YYYY/MM/DD_HH24:MI:SS" terminated by whitespace,
CAMPO_CHAR CHAR terminated by whitespace,
CAMPO_NUMERICO INTEGER EXTERNAL terminated by whitespace,
OTHER_CAMPO_CHAR CHAR terminated by whitespace
)


Sldos, Mario.
  #14 (permalink)  
Antiguo 14/03/2008, 10:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: de excel a oracle

Hola chicos

Necesariamente se tiene que hacer con el SQL LOAder.... no habra alguna equivalencia en oracle Como UN DTS (Sql Server)?

Hay alguna forma desde pl Sql conectarme a otra base de datos pero por medio de ODBC? para poreder interactuar con ella y que no necesariamente tenga que consultar un fichero ?

necesito saber eso por favor
  #15 (permalink)  
Antiguo 14/03/2008, 15:50
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Re: de excel a oracle

Cita:
Iniciado por gcaqp Ver Mensaje
Hola chicos

Necesariamente se tiene que hacer con el SQL LOAder.... no habra alguna equivalencia en oracle Como UN DTS (Sql Server)?

Hay alguna forma desde pl Sql conectarme a otra base de datos pero por medio de ODBC? para poreder interactuar con ella y que no necesariamente tenga que consultar un fichero ?

necesito saber eso por favor
tambien existe UTL_FILE, tambien existen las tablas externas, si tienes alguna aplicacion con forms tambien existe TEXT_IO y no recuerdo otra mas
__________________
Blogzote.com :-) Mi blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:31.