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 :

Procédures externes avec trigger et J2EE


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut Procédures externes avec trigger et J2EE
    Sur AIX/Oracle 9.2, j'ai réussi à utiliser les procédures externes avec PL/SQL. J'ai notamment suivi cette démarche (http://www.idevelopment.info/data/Or.../PLSQL_1.shtml), en utilisant une librairie externe (.so)
    Je suis également parvenu à utiliser un trigger sur une table afin de lancer une procédure à chaque insertion dans cette table (avec sqlplus).
    Cependant lorsque l'on fait une insertion à partir d'une application J2EE, il y a systématiquement une erreur et la procédure n'est pas lancée.

    Est-ce que ma requête est impossible du point de vue de l'architecture général ou y'a-t-il un moyen de faire ce que je désire ?

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Cependant lorsque l'on fait une insertion à partir d'une application J2EE, il y a systématiquement une erreur et la procédure n'est pas lancée
    .

    Le trigger ne se déclenche pas (et donc la procédure non plus) car vous avez un erreur dans votre insertion. Corrigez d'abord cette erreur d'insertion dans votre code Java.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut
    L'insertion marche parfaitement :
    - quand on supprime le trigger, l'insertion est réalisée avec l'application J2EE
    - quand on ajoute un trigger qui fait simplement une insertion dans une autre table, cela marche (toujours avec le J2EE)
    - quand on ajoute un trigger qui lance une procédure externe, cela marche avec une insertion manuelle (sqlplus), mais pas avec l'application J2EE

  4. #4
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Citation Envoyé par talented_together Voir le message
    L'insertion marche parfaitement :
    - quand on supprime le trigger, l'insertion est réalisée avec l'application J2EE
    - quand on ajoute un trigger qui fait simplement une insertion dans une autre table, cela marche (toujours avec le J2EE)
    - quand on ajoute un trigger qui lance une procédure externe, cela marche avec une insertion manuelle (sqlplus), mais pas avec l'application J2EE
    Toujours aussi jouissif, le "ca marche pas". On ne s'en lasse pas
    Sérieusement, peut-être qu'un petit message d'erreur aiderait, non ?

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut
    Voici les erreurs données par Oracle (je vais m'abstenir de donner la pile d'erreur java, surtout que comme je l'ai précisé l'insertion fonctionne dans une table sans trigger) :

    ORA-06512: a "OPS$USER720.SHELL", ligne 0
    ORA-06512: a "OPS$USER720.MY_TRIGGER", ligne 1
    ORA-04088: erreur lors d'execution du declencheur 'OPS$USER720.MY_TRIGGER'

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    Citation Envoyé par talented_together Voir le message
    Voici les erreurs données par Oracle (je vais m'abstenir de donner la pile d'erreur java, surtout que comme je l'ai précisé l'insertion fonctionne dans une table sans trigger) :

    ORA-06512: a "OPS$USER720.SHELL", ligne 0
    ORA-06512: a "OPS$USER720.MY_TRIGGER", ligne 1
    ORA-04088: erreur lors d'execution du declencheur 'OPS$USER720.MY_TRIGGER'
    Pas très causant

    Y-a-t-il plus dans le fichier alert_SID.log ? (accessible par le DBA si vous en avez un )

    rbaraer

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2010, 12h16
  2. Les Calcul Avec Procédure-Stocker Ou Trigger
    Par Meryjean dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/08/2010, 12h41
  3. [Système] Ouvrir fichier externe avec prog par défaut de l'OS
    Par Pill_S dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 30/05/2004, 11h54
  4. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45
  5. Problèmes création de procédures et de triggers
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 06/11/2003, 10h42

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