Interaction shell Unix / sqlplus Oracle

Dans l'article Industrialisation des scripts SQL, nous avons abordé la possibilité d'exécuter du code PL/SQL à travers un shell unix, voyons maintenant comment interagir de manière bilatéral entre un script unix et notre base de données.

Il s'agit en fait de rediriger nos résultats dans un fichier que le shell pourra ensuite lire.

Voici un exemple de script allant lire une donnée en base pour ensuite continuer le traitement en fonction de cette données (cet exemple en ksh peut évidemment être adapté à votre shell).
Il faut évidemment s'assurer que l'utilisateur Oracle ait le droit de créer un fichier à l'endroit indiqué (pour notre exemple, il s'agit du répertoire courant, il est également commun d'utiliser le répertoire temporaire).


#!/bin/ksh

sqlplus $UBDD/$PBDD < +EOSQLPLUS+ 
set header off; 
spool ma_var.tmp; 
select sysdate from dual; 
spool off; 
+EOSQLPLUS+ 
export varBDD = `cat ma_var.tmp` 
rm ma_var.tmp 
echo "Le timestamp de la base est $varBDD"


Article connexe : Industrialisation des scripts SQL

- Utilisation de la commande SPOOL.




Vous n'avez pas trouver réponse à votre question ? Préciser votre recherche :

Catégories