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

Développement de jobs Discussion :

Encapsuler plusieurs inserts / updates dans une transaction


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 85
    Points : 62
    Points
    62
    Par défaut Encapsuler plusieurs inserts / updates dans une transaction
    Bonjour,

    j'insère des lignes dans une table oracle via tOracleOutput. Je dois ensuite updater une autre table pour flaguer une ligne. Et je voulais commiter si tout c'était bien déroulé.

    J'avais dans l'idée:
    - dans un 1er tOracleOutput, je fais les inserts
    - Dans un 2e tOracleOutput, lié au 1er par OnComponentOk, je fais mon update
    - Je Commit le tout sur un OnComponentOk.

    Mon soucis: je n'arrive pas à lier les 2 tOracleOutput avec 1 OnComponentOk.

    Comment faire, du coup, pour encapsuler plusieurs tOracleOutput dans une transaction?

    Merci

  2. #2
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Citation Envoyé par sqlnoob Voir le message
    - Dans un 2e tOracleOutput, lié au 1er par OnComponentOk, je fais mon update
    Si tu lies ton deuxième tOracleOutput par un lien onComponentOk ça ne pourrais pas marcher.
    Le composant tOracleOutput à besoin de données en entrée de type main pour faire des mises à jour.
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  3. #3
    Membre averti

    Homme Profil pro
    informatique
    Inscrit en
    Avril 2013
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 280
    Points : 406
    Points
    406
    Billets dans le blog
    1
    Par défaut
    pourquoi tu n'utilises pas un toracleRow encore plus flexible dans la manipulation

  4. #4
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Bonjour,

    Je ne suis pas certain de bien répondre à la question...

    Mais pour gérer plusieurs composants bdd au sein d'une même transaction, il faut utiliser un tOracleConnection.
    On peut ensuite relier tous les composants Oracle à ce composant afin d'utiliser la même connexion.
    Avec un composant tOracleClose pour fermer la connexion et faire le commit, ou juste un tOracleCommit si on souhaite continuer à utiliser la connexion.

    Ensuite, les séquencement des actions doivent se faire entre les sous-jobs, avec des liens onSubJobOk.
    Ceci pour gérer correctement le séquencement des flux de données comme le fait remarquer supergeoffrey.

    Nicolas

Discussions similaires

  1. comment insert , update dans une View
    Par Kagami dans le forum Développement
    Réponses: 5
    Dernier message: 20/09/2013, 14h50
  2. Insertion,update dans une BD à table avec beaucoup de champs
    Par randriano dans le forum C++Builder
    Réponses: 29
    Dernier message: 13/03/2007, 20h11
  3. probleme d'insertion dans une transaction
    Par iam dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/05/2006, 11h18
  4. [Pl/Sql] Insert ou Update dans une fonction
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 12
    Dernier message: 18/04/2006, 16h28
  5. Réponses: 2
    Dernier message: 20/03/2006, 10h39

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