Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2013, 05:12
Avatar de navirt
navirt
 
Fecha de Ingreso: julio-2013
Ubicación: Madrid
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta como hacer script de sqlldr

Hola compañeros, soy nuevo en el SO Linux y sobre todo en administracion de BD, tengo que hacer un script con las siguientes caracteristicas y debajo pondre lo que tengo hecho , a ver si alguno me podria ayudar a mejorar el codigo.

Un saludo y gracias de antemano.

Crear un shell script que permita ejecutar los siguientes pasos:
- Solicitar por prompt usuario/password para entrar a bbdd
- Crear una tabla vacia
- solicitar usuarios para ejecutar un sqlldr
- Solicitar la ubicación de los ficheros de datos y control.
- Ejecutar la utilidad para cargar desde fichero plano de datos la tabla creada
anteriormente
- ejecutar una consulta sobre esa tabla (se tiene que volver a
conectar a bbdd )
- Generar un fichero de texto con los datos obtenidos desde la consulta previa

el codigo q tengo por ahora es este:
Código BASH:
Ver original
  1. #!/bin/bash
  2. # -*- ENCODING:UTF-8 -*-
  3.  
  4. ORACLE_SID="XE"
  5.  
  6. echo
  7. echo  "Introduce usuario:"
  8. read usuario
  9. echo
  10. echo  "Introduce el password:"
  11. read pass
  12. sqlplus $usuario/$pass@XE
  13. echo
  14. echo "introduce un nombre para la tabla:"
  15. read tabla
  16. create table $tabla (
  17. dni VARCHAR(10) NOT NULL,
  18. nombre VARCHAR(50),
  19. fnacim DATE,  
  20. PRIMARY KEY (dni));
  21. exit;
  22. echo
  23. echo  "Introduce usuario"
  24. read usuario2
  25. echo
  26. echo  "Introduce el password"
  27. read pass2
  28. echo
  29. sqlldr userid=$usuario2/$pass2@XE;
  30. echo
  31. echo "ruta de los ficheros de control:"
  32. echo
  33. select * from v$controlfile;
  34. echo
  35. echo "ruta de los ficheros de datos:"
  36. echo
  37. select * from v$datafile;
  38. echo
  39. echo "introduce el nombre del archivo a cargar:"
  40. read carga
  41. echo
  42. LOAD DATA LOCAL INFILE 'carga.txt' INTO TABLE $tabla
  43. LINES TERMINATED BY '\r\n';
  44. exit;
  45. echo  "Introduce usuario"
  46. read usuario3
  47. echo
  48. echo  "Introduce el password"
  49. read pass3
  50. sqlplus $usuario3/$pass3@XE
  51. echo
  52. select * into outfile "cambios.txt"
  53. from $tabla;

Última edición por gnzsoloyo; 08/07/2013 a las 06:09