Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2007, 10h13   #1
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Par défaut Executer un shell à partir d'un trigger

Bonjour,

je souhaite savoir si il est possible d'executer un shell sous linux à partir d'un trigger.

Je souhaite en effet récupérer des valeurs d'insert et les passer en parametres à un script sh.

J'ai cherché mais les réponses ne sont pas trés concluantes.

Est il possible de faire ce genre d'action ?

Merci à tous !
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2007, 11h09   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Théoriquement, c'est possible si on peut utiliser Java dans la base de données: dans ce cas le trigger peut appeler une procédure stockée Java qui peut exécuter un shell script. Mais sans Java, je ne crois pas que c'est possible.

Pratiquement, il faut donc installer Java dans la base de données. Il faut aussi noter que l'exécution du trigger sera bloquée tant que l'exécution du shell script n'est pas terminée. On peut aussi essayer de créer un job avec le package DBMS_JOB qui sera lancé en asynchrone si on veut éviter l'attente.
Tout cela semble assez lourd.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2007, 12h54   #3
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par pifor
Mais sans Java, je ne crois pas que c'est possible.
Si, si, c'est possible en utilisant les librairies externes :
http://www.developpez.net/forums/sho...93&postcount=6
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2007, 13h28   #4
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
C'est vrai qu'il est possible de le faire sans Java. Mais utiliser les procédures externes en langage C nécessite aussi d'avoir une configuration Oracle Net spécifique car il faut un listener dédié à ce type de service: http://download-uk.oracle.com/docs/c...c.htm#BEJFBFIE
Dans ce cas, à la différence de la procédure Java, la procédure externe - comme son nom l'indique - ne s'exécute pas "dans la base" comme une procédure Java (ou du PL/SQL) mais "à l'extérieur".
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h37.


 
 
 
 
Partenaires

Hébergement Web