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 :

Insert et lecture d'une table Oracle dans le même job


Sujet :

Développement de jobs

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Points : 97
    Points
    97
    Par défaut Insert et lecture d'une table Oracle dans le même job
    Bonjour,

    Gros pb aujourd'hui :
    J'ai créé un job qui fait un INSERT dans une table1 Oracle dont la clé est toto (nextval).
    Dans le même tmap je fais un out1 qui
    en me^me temps va vers une autre tmap puis rempli une autre table2 Oracle en prenant cette clé toto (nextval).ET là il crie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VIOLATION de CONTRAINTE SUR la Clé TOTO.Clé parent Introuvable
    .

    Je pense que cela vient du fait que ma table1 n'est pas à jour et par conséquent il ne trouve pas la clé parent.....
    Est-ce que quelqu'un sait contourner ce pb ????
    Merci.
    NFHnv

  2. #2
    Membre averti
    Avatar de l4r3nZu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 154
    Points : 423
    Points
    423
    Par défaut
    Vire la contrainte dans ton schéma BDD ?

    Bon courage.

  3. #3
    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
    Ou alors il faut faire en sorte que la session que tu utilises pour faire les inserts dans la 2ème table voie les lignes insérées dans la première.

    Pour celà, 2 solutions.
    - Soit tu commites à chaque ligne les premiers inserts
    - Soit tu utilises une connexion partagée entre les 2 composants d'insertion. (c'est à mon avis la bonne solution)

    Nicolas

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Merci pour vos réponses...
    par contre comment faire une connexion partagée ?
    Ou encore un commit à chaque ligne dans un job talend ???
    NFHnv

  5. #5
    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
    Il est possible d'utiliser la même connexion entre différents composants au sein d'un même job en utilisant le composant tOracleConnection.
    (Il faut alors utiliser l'option 'Use an existing connection' dans chaque composant)
    Si tu dois partager une même connexion entre des composants de différents jobs, il faut alors utiliser l'option 'Use or Register a shared DB Connection' du composant tOracleConnection)

    Pour l'intervalle de commit, c'est dans l'onglet 'Advanced Settings' du tOracleOutput : option 'Commit every'

    Nicolas

Discussions similaires

  1. charger une table oracle dans un fichier plat
    Par simodsio dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/08/2008, 11h11
  2. Réponses: 3
    Dernier message: 05/08/2008, 16h58
  3. Charger une table oracle dans un fichier plat
    Par simodsio dans le forum PL/SQL
    Réponses: 5
    Dernier message: 04/08/2008, 16h19
  4. Insertion des enregistrements d'une table temporaire dans un état
    Par Chayanne47 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 18/04/2008, 11h46
  5. Réorganiser vue d'une table Oracle dans un DataGrid
    Par Tatoine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/06/2007, 10h24

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