|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
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)) |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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. |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Citation:
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. |
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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". |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com