IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Executer un shell à partir d'un trigger


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    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 !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    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.

  3. #3
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    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

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    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".

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/12/2007, 12h12
  2. [Système][Process] Scripts shell à partir d'une appli java
    Par mickbzh dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 22/07/2005, 15h40
  3. [JSP] Executer un shell
    Par hedgehog dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 20/07/2005, 10h13
  4. Comment exécuter un shell au demarrage de l'OS
    Par Chihuahua dans le forum Administration système
    Réponses: 3
    Dernier message: 20/03/2005, 18h42
  5. [VB.NET] Executer une requete à partir d'un DataSet...?
    Par anthony70 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 12/07/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo