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

Oracle Discussion :

ORA-02055


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut ORA-02055
    Bonjour,

    Sous Oracle 8.1.7.4, j'ai mis en place un trigger se déclenchant après un insert.
    L'objectif de ce trigger est de faire un insert dans une table située dans une autre BD que la BD en cours.
    Or, j'ai le message d'erreur en référence de l'objet de ce post.
    Plus précisément : ORA-02055 : distributed upadte operation failed, rollback required.
    Or je ne peux appeler un rollaback dans un trigger!

    Merci de votre aide à tous

    Au plaisir.

  2. #2
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Est ce qu'on peut voir le code error qui suit l' ORA-02055 ?
    Est ce que tu fait un commit après l'insert ?
    Est ce que tu utilise forms ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut suite message d'erreur
    bonsoir

    ORA-02069:global_names parameter must be set to TRUE for this operation
    ORA-06512 : at "nom_du_trigger", line 3 (ici juste après le begin)
    ORA-04088 : er

    voilà

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut suite, suite
    non, pas de commit, pas d'utilisation deforms
    juste un progiciel

  5. #5
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    en lançant avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SESSION SET GLOBAL_NAMES = TRUE ;
    est ce que tu a le même problème ?

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Dans la doc oracle, j'avais vu ce point.
    Je vais voir si je peux placer un script dans le progiciel que j'utilise au moment de la connexion utilisateur.

    merci

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut ALTER SESSION SET GLOBAL_NAMES, suite
    Bonjour,

    J'ai changé ce paramètre au niveau du init.ora de ma DB.
    Désormais, j'ai les messages d'erreur suivant
    . ORA-00904: Nom de colonne non valide
    . ORA-02063: précédant line de V9SA


    Mon insert est de la forme
    "insert into tab1@dblink (tab1.col1, tab1.col2) select tab2.col1, tab2.col2 from tab2"
    => çà ne fonctionne pas

    J'ai fait plusieurs tests :
    a. j'ai copié tab1 sur la DB de travail, nous l'appelerons tab11, ensuite j'ai le sql suivant :
    "insert into tab1@dblink (tab1.col1, tab1.col2) select tab11.col1, tab11.col2 from tab11 where tab11.col3 = 1" => çà fonctionne

    b. j'ai essayé le sql suivant :
    "insert into tab11 (tab11.col1, tab11.col2) select tab11.col1, tab11.col2 from tab11 where tab11.col3 = 1" => çà fonctionne

    c. le sql d'origine ne fonctionne pas
    "insert into tab1@dblink (tab1.col1, tab1.col2) select tab2.col1, tab2.col2 from tab2"

    Y'a-t-il des particularités concernant les transactions via dblink, notamment sur un insert ?

    Merci de m'éclairer.

  8. #8
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Est ce que tu utilise FGA sur la table (audit) ?

    When an attempt is made to insert/update/delete data into/of/from a remote table with select from a local table having FGA defined for it then the DML fails with ORA-00904/ORA-02063.

    eg:
    At Local DB: U1 has table T1 with FGA.
    At Remote DB: U2 has table T2.
    U1 tries to:
    "insert into U2.T2@dblink SELECT * from U1.T1"
    ^ Fails with ORA-904

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut ????
    Merci de la rapidité de ta réponse, mais tu évoques quelque chose que je ne connais pas !
    Peux-tu, s'il te plaît, être plus excplicite.

    Au plaisir

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/01/2007, 11h58
  2. erreur ora-12801 : error signaled in parallel query server
    Par dngaya dans le forum Administration
    Réponses: 5
    Dernier message: 15/04/2004, 16h25
  3. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47
  4. Réponses: 14
    Dernier message: 02/04/2004, 14h33
  5. Oracle ORA-00020 : maximum de processus
    Par Lisou dans le forum Administration
    Réponses: 5
    Dernier message: 22/03/2004, 16h27

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