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

SQL Oracle Discussion :

transaction distribuée et transaction autonome


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut transaction distribuée et transaction autonome
    Bonjour,
    Je développe actuellement un trigger sous oracle 8i, sa fonction est sur mise à jour de mettre à jour un nombre dans une autre table, malheureusement ce nombre se calcule à partir des données de la table mutante.
    J'ai, grace à ce forum, implémenté le comptage (select count ...) dans une transaction autonome et cela fonctionne depuis sql+ mais malheureusement ce trigger s'execute sous le contrôle d'une transaction distribuée lancée par un client powerbuilder dont je ne connais pas le code et oracle retourne à ce client le message ORA-00164: transaction autonome interdite dans une transaction distribuée.
    Comment faire ? quelqu'un à une idée ?
    C'est ma première intervention ici et même si j'ai cherché dans les forums il est possible que la réponse soit déja disponible.
    Merci.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Attention, pas de DB Link avec une transaction autonome en 8i

    http://www.developpez.net/forums/sho...ight=ORA-00164

    Est-ce que ce ne serait pas le cas ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    oui c'est le cas !
    par conséquent les solutions envisageables ne sont pas trés académiques :
    1- je peux faire des compteurs que j'implémente sous réserve d'avoir lancé à l'install une proc qui initialise ce nombre, puis le trigger fait des +1 et des -1

    2- Je demande au développeur PB de lancer lui même la proc qui était intialement un trigger

    3 - Je demande au developpeur d'extraire son dblink de sa transaction

    mais aucune de ces solutions ne me convient évidemment

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    la 2° me parait être la mieux si tant est qu'aucun batch n'utilise le même processus

    il y a une autre solution : migrer en 11g

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oui je sais mais le client final ne le souhaite pas,
    Sinon quid des discrete transaction ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Transactions discrete et autonomous depuis distribuée
    j'ai regardé les discrete transaction mais il semble qu'elles aient les mêmes restriction que les autonomous si elle viennent de transactions distribuées.
    Moralité, j'implémente la solution N°2 et mon trigger sur update devient une SP.
    Merci pour les conseils.
    Eric

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

Discussions similaires

  1. Probleme transaction distribuée
    Par funboard dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/01/2008, 09h37
  2. Conversion du type DATETIME lors d'une transaction distribuée
    Par Erwan1978 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/01/2008, 11h06
  3. Transactions distribuées et triggers
    Par mikedavem dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 15/04/2007, 20h00
  4. [Transaction Distribuées]Transaction et serveurs liés
    Par zaoueche dans le forum InterBase
    Réponses: 1
    Dernier message: 13/03/2007, 22h15
  5. rollbacks et transactions distribuées
    Par GMI3 dans le forum Oracle
    Réponses: 8
    Dernier message: 26/09/2006, 09h19

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