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

Administration Oracle Discussion :

[Oracle] Aide pour la création d'un trigger


Sujet :

Administration Oracle

  1. #1
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut [Résolu][Oracle] Aide pour la création d'un trigger
    Bonjour
    J'ai un gros problème pour créer un trigger sous Oracle. J'ai créé un programme Java pour effectuer des opérations lors de l'ajout d'un nouvel enregistrement.
    Je créé donc un trigger qui se déclenche dès que j'insère un enregistrement. Mais voilà je n'ai aucune idée de comment faire pour appeler mon programme Java à partir de mon trigger, je sais juste que c'est possible.
    Est-ce que quelqu'un pourrait m'aider ??
    Merci

  2. #2
    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
    Points : 3 609
    Points
    3 609
    Par défaut
    A mon avis il faut que tu créés une procédure PL/SQL qui exécutera ta classe java. C'est cette procédure PL/SQL que tu appeleras dans ton trigger.

    Voici un lien qui t'indique comment créer une procédure PL/SQL qui exécute une classe java :
    http://download-west.oracle.com/docs/cd/B10501_01/java.920/a96659/04_call.htm
    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.

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    voila l'article qui répond pile-poil à la question

    Calling Java from Database Triggers

  4. #4
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    J'arrive pas à y accéder, la page pour s'inscrire n'existe plus. J'essayerais plus tard.
    Est-ce que vous pourriez me faire un ptit copier-coller ici svp, ce serait super cool.
    Merci bcp en tout cas

  5. #5
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Ca y est c'est passé.
    Merci les gars

  6. #6
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Je viens de parcourir votre tuto, il est super merci
    Mais un dernier truc qu'il ne précise pas (ou bien si mais mon anglais est plutot moyen), où est-ce qu'il faut placer son code source pour que Oracle le retrouve, j'ai fait ce qu'il marque mais il me dit "Classe.Fonction introuvable". Je doute qu'il faille préciser le chemin absolu dans la déclaration de la procédure.
    Y a un rep de Oracle où il faut placer le code ??

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    le code java doit être stocké en base

  8. #8
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Euh je vais peut-etre passer pour un boulet, mais tu fais comment ??

  9. #9
    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
    Points : 3 609
    Points
    3 609
    Par défaut
    Lit les pages précédentes (chapitre 2 et 3) du lien qu'on t'a donné, tout est expliqué.
    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.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Tu as un utilitaire Oracle pour ça : loadjava

    Tiens voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    loadjava -user user/pswd@base -verbose -resolve -force maclass.class
    "There are two major products that come out of Berkeley: LSD and UNIX.
    We don't believe this to be a coincidence."
    - Jeremy S. Anderson

    La FAQ Python
    Les cours et tutoriels pour apprendre Python
    Le Forum Python

  11. #11
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    J'ai fait toutes les étapes mais ca marche pas
    Voila mon code Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class test
    {
      public static void main(String[] args)
      {
        System.out.println(args[0]);
      }
    }
    Rien de plus simple, je compile avec javac pas de prob (heureusement ), je fais le loadjava (merci getupa) ca marche aussi, mais lorsque je veux créer ma procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create or replace procedure appelJava (chaine varchar2)
    as language java 
    name 'test.main(java.lang.String)';
    /
    Il me dit que la déclaration de test.main est incomplète ou mal formée
    Vous avez pas une idée par hasard ??

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    merci de donner le message d'erreur EXACT code + message

  13. #13
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Le message exact donné par oracle est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    0/0      PL/SQL: Compilation unit analysis terminated
    3/1      PLS-00311: la déclaration de "test.main(chaine)" est incomplète
             ou mal formée

  14. #14
    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
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create or replace procedure appelJava (chaine varchar2) 
    as language java 
    name 'test.main(java.lang.String[])'; 
    /
    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.

  15. #15
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Merci les gars ca y est ca tourne
    Vive developpez.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/11/2006, 22h52
  2. Aide pour la création d'un JavsScript
    Par koKoTis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/08/2006, 15h44
  3. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  4. Aide sur la création d un Trigger
    Par hatoug dans le forum Oracle
    Réponses: 20
    Dernier message: 16/05/2006, 16h26
  5. Réponses: 2
    Dernier message: 10/03/2006, 13h55

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