FORUM Tom's Hardware » Programmation » Autre » mis à jour d'une DB Oracle grace à des scripts shell
 

mis à jour d'une DB Oracle grace à des scripts shell

Il y a 260 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : mis à jour d'une DB Oracle grace à des scripts shell
 
Plus d'informations

Bonjour,
 
J'ai réalisé un menu en shell (korn shell) qui permet de gérer des stocks de produits. Il se présente à l'utilisateur de la manière suivante :
 
 MENU
 
 1. Mettre un produit en stock (le ranger dans une caisse)
 2. Mettre un produit en rayon (le sortir d'une caisse)
 3. Supprimer un produit des rayons  
 4. Connaitre le statut d'un produit
 
 
L'utilisateur choisit donc l'action qu'il souhaite. Les produits en stock sont rangés dans des caisses qui sont numérotées. Les produits et les caisses sont tous référencés dans une base de données Oracle qui contient 2 tables : PRODUIT et CAISSE.
 
La DB a été crée, j'y accède par l'intermédiaire de PL/SQL et peut faire mes requêtes correspondant aux actions du menu.
Mon problème est que j'ignore comment je pourrais intégrer mes requêtes dans mes scripts shell, pour que les mises à jour soient effectuées sur la DB.
 
Une aide me serait extrèmement précieuse, merci !!

Profil : Pointeur
Plus d'informations

je ne pense pas que ce soit possible en shell, ca n'a pas ete concu pour interférer avec une base de donnée...
 
a moins que tu puisse lancer un programme avec une ligne de commande et les parametres qui vont bien...

Plus d'informations

si si c'est possible
 
dans ton script shell tu peut appeler sqlplus  
 
par exemple
 


#!/bin/ksh
 
sqlplus user/password @startfile.sql > log/startfile.log
 


 
ici startfile.sql est le fichier ou tu a mis ta requete sql
 
par exemple
 


set serveroutput off;
 
prompt ****************************************************
prompt Un message :
prompt ****************************************************
 
select  code_site CODE_GP
from    ...
where   code_site not like '%E'
  and   code_site not like '%W'
minus
select  substr( code, 2, 5 )
from    site...;
 

 
 
tu peut aussi executer des procédure stockée (c'est plus propre...)


pool off;
 
exec schemaName.pk_name.procedure_name;
 

Plus d'informations

J'oubliai le sql loader d'oracle qui est puissant: Tu te debrouille pour avoir tes données dans un fichier, et tu charge le fichier a l'aide de sqloader
 


#!/bin/ksh
sqlldr  user/password control=startfile.ctl log=log/startfile_LDR.log


 
ou ici startfile.ctl est du style
 


LOAD DATA
INFILE 'data/produit.csv'  BADFILE 'log/produit.bad'
 
REPLACE
INTO TABLE PRODUIT  
FIELDS TERMINATED BY ";"
TRAILING NULLCOLS
(
    type,
    num,
    reg,
 ...
    on_line date    "DDMMYYYY"
)


 
faut adapter hein (le fichier chargé ici est produit.csv, les champs sont sépararé par un ";" )


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » mis à jour d'une DB Oracle grace à des scripts shell
 

Annonces Google
Publicité