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 :

Récupérer les id de chaque enregistrement dans la BDD


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut Récupérer les id de chaque enregistrement dans la BDD
    Salutation tout le monde!!!!

    Voila je vous explique mon problème, j'utilise un fichier excel pour insérer des données dans ma base de donnée et avec un tmap je fait des jointures avec d'autres table. J'arrive à insérer les données avec succès mais le problème c'est que j'ai une autre table dans laquelle je dois insérer des données mais dans celle-ci j'ai besoin d'avoir les id de chaque enregistrements de la table d'avant (celle ou j'ai inséré des données). Après avoir essayé quelques solutions sur le net et que je n'arrive pas à faire fonctionner. Je viens vers vous pour vous demander votre aide car je bloque. Je vous ai mis en image mon job avec des erreurs (dont celle sur le tmap que je comprends pas) pour que vous voyez se que je souhaite faire. Pour l'instant avant d'insérer des donnes dans la 2e table j'essaie de récupérer les id des enregistrements de ma 1e table.

    Nom : erreur_talend.png
Affichages : 745
Taille : 27,3 Ko

    J'espère que quelqu'un pourra m'aider car je bloque dessus depuis un bon moment .

  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
    Quand tu fais ça, il faut souvent modifier le tMysqlOutput ("appareil")

    Dans ses paramètres avancés il y a un champs "Insérer par" il faut le mettre à 1. par défaut c'est 100.

    Et donc il t'insère en base tous les 100 lignes, donc tu aura un id différent modulo 100.
    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 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
    Et si veux qu'on t'explique les erreurs donnes les nous.
    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

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Bonjour supergeoffrey!

    Merci pour ta réponse! J'ai regardé dans mon tMysqlOutput ("appareil") et j'ai une case à coché "insertion étendues" et en la cochant j'ai "Nombre de lignes par insertion" que j'ai mis à 1 (de base il était à 100). J'espère que c'est le bon. Mais malheureusement l'erreur est toujours présente. Et sinon oui désolé j'avais oublié de mettre mon erreur. Celle du tmap c'était rien c'est surtout sur le composant tmysqllastinsertid.

    voici l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception in component tMysqlLastInsertId_1
    java.lang.NullPointerException
    	at test.insertion_appareil_0_1.insertion_appareil.tFileInputExcel_1Process(insertion_appareil.java:3070)
    	at test.insertion_appareil_0_1.insertion_appareil.runJobInTOS(insertion_appareil.java:7698)
    	at test.insertion_appareil_0_1.insertion_appareil.main(insertion_appareil.java:7555)
    J'espère que cela pourra aider.

  5. #5
    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
    Il faut aussi utiliser une connexion unique à une base de données dans tes composants Mysql.
    Car le tMysqlLastInsertId récupère le dernier id inséré dans le connexion courrante.

    Il faut que tu ajoutes un tMysqlConnection au moins tMysqlCommit, et un tMysqlClose si tes tMysqlCommit ne ferme pas la base de donnée.
    Et configurer tes composants Mysql pour qu'il utilise ta connection.

    Attention tu dois fermer qu'une fois ta base de donnée
    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

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    D'accord par contre je sais pas trop comment relié tout ça tu pourrai m'aider par rapport au schéma que j'ai donné à mon 1er post ? Car j'ai regardé le tmysqlconnection je peux le relier que à un tmysqlinput. Et il ne se relie pas avec mon tmysqloutput ou j'insère mes données.

  7. #7
    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 Arendelle Voir le message
    D'accord par contre je sais pas trop comment relié tout ça tu pourrai m'aider par rapport au schéma que j'ai donné à mon 1er post ? Car j'ai regardé le tmysqlconnection je peux le relier que à un tmysqlinput. Et il ne se relie pas avec mon tmysqloutput ou j'insère mes données.
    Parles-tu de ta table historique ?

    Dis-nous exactement ce que tu veux mettre dans tes tables.
    Montres-nous aussi ton tMap. Et je dis se que tu peux faire en plus.
    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

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Non je parlais en faites de la table appareil. Je te redonne mon schéma:

    Nom : Schéma_talend.png
Affichages : 664
Taille : 26,2 Ko

    Voici mon tmap (en deux partie pour que tu puisse voir ce que je fais):

    Nom : tmap_partie1.png
Affichages : 684
Taille : 111,3 KoNom : tmap_partie2.png
Affichages : 616
Taille : 110,5 Ko

    Voila en faites se que je veux faire c'est que une fois que j'ai mis un enregistrement dans ma table appareil tout de suite après je dois récupéré l'id de l'appareil (qui viens d'être ajouté) et celui de l'utilisateur qui a été affecté (dans la table appareil c'est UTILISATEUR_ID_UTILISATEUR) et de les insérer avec la date d'aujourd'hui dans ma table historique. Et faire ça pour chaque nouvel enregistrement dans la table appareil. Voila j'espère que c'est clair si ça ne l'est pas dit le mois et j'espère également que c'est possible.

  9. #9
    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
    1. Il faut être sur que ta connexion soit créée avant ton flux, tu as deux options :
      • Tu ajoutes un tPrejob avec un déclencheur onComponentOk vers le tMysqlConnection
      • soit tu ajoutes un déclencheur onComponentOk ou onSubjobOk entre la connexion et le fichier
    2. Tu as besoin d'un composant qui fasse le lien entre la sortie du tMysqlLastInsertId et ton tMysqlOutput (table historique), tu as deux options encore
      • Un 2e tMap sans jointure (avantage c'est graphique)
      • un tJavaRow ou tJavaFlex ou tu code la sortie en java
    3. Pour la date courante dans la table appareil tu as deux choix :
    4. Ajoute un commit après ta table historique et si c'est pas suffisant ajoute en un autre entre la table appareil et le tMysqlLastInsertId (Ne ferme pas ta connexion)
    5. Il faut aussi fermé ta connexion à la fin du job, c'est une bonne pratique , deux options
      • tPostJob -> onComponentOk -> tMysqlClose
      • ajoute un tMysqlClose avec le déclencheur onSubjobOk sur ton fichier
    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

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Merci beaucoup pour ta réponse!! Mais le problème c'est que ça bloque sur le lmysqllastinsertId.

    Voici le schéma selon la configuration que tu ma conseillé:

    Nom : Schéma_talendV2.png
Affichages : 635
Taille : 36,1 Ko

    Voici l'erreur que j'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Démarrage du job insertion_appareil a 16:37 15/04/2016.
    [statistics] connecting to socket on port 3682
    [statistics] connected
    Exception in component tMysqlLastInsertId_1
    java.lang.NullPointerException
    	at test.insertion_appareil_0_1.insertion_appareil.tFileInputExcel_1Process(insertion_appareil.java:3587)
    	at test.insertion_appareil_0_1.insertion_appareil.tMysqlClose_1Process(insertion_appareil.java:601)
    	at test.insertion_appareil_0_1.insertion_appareil.runJobInTOS(insertion_appareil.java:8344)
    	at test.insertion_appareil_0_1.insertion_appareil.main(insertion_appareil.java:8201)
    0|25|12|1|FD67S78DE87D5|3533565623|2016-01-12|||357525283|738738972|46736736783678|79|670041348
    0|27|0|2|D6F67FSF7FSF6F|3526566752|2016-02-19|||467864783|378973793|46736798783678|80|745637282
    0|29|0|3|F787FS78SF6GFF|8778784978|2016-03-02|||637873863|366335746|23736736783678|81|648921074
    0|31|5|4|F89SF6FS78FSFF|8367846436|2016-04-20|||478738973|367637863|46736736783687|82|767219893
    0|34|13|5|F87SSF8SFSF987|8646736784|2016-05-10|||327852852|637936784|46736736343678|86|674632561
    Cannot add or update a child row: a foreign key constraint fails (`gestion_parc_telephonique`.`historique`, CONSTRAINT `fk_HISTORIQUE_APPAREIL1` FOREIGN KEY (`APPAREIL_ID_APPAREIL`) REFERENCES `appareil` (`ID_APPAREIL`) ON DELETE CASCADE ON UPDATE NO ACTION)
    [statistics] disconnected
    Job insertion_appareil terminé à 16:37 15/04/2016. [Code sortie=1]
    L'insertion dans la table appareil se fait très bien mais dans la table historique j'ai aucune données d'insérées.

  11. #11
    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
    Vérifie deux chose :
    _ Que le tMysqlCommit ne ferme pas ta connexion. (ça m'étonnerai)

    _ Le code de début du tMysqlLastInsertId : il doit contenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.sql.Connection conn_tMysqlLastInsertId_1 = (java.sql.Connection)globalMap.get("conn_tMysqlConnection_1");
    Si ce n'est pas le cas et qu'il contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.sql.Connection conn_tMysqlLastInsertId_1 = (java.sql.Connection)globalMap.get("conn_");
    C'est que ton composant a mal été initialisé pour le résoudre tu cliques à nouveau sur le champs connexion et tu sélectionne à nouveau ta sélection.


    La dernière fois, je me rappelle que j'ai eu un une NPE sur le tMysqlLastInsertId à cause de ça, il m'a fallu du temps pour trouver le problème.

    Mon explication supposée pour ce bug est celle-ci.
    Tu ajoutes ton tMysqlLastInsertId tu n'as pas de connexion donc on a [ Connexion = '' ]
    Tu ajoutes ton tMysqlConnexion, ça te crée une connexion mais elle se met pas à jour dans tes composants
    Quand tu regardes la configuration de ton ton tMysqlLastInsertId tu as l'impression que ta connexion est bien sélectionné alors que Talend te montre le premier choix.
    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

  12. #12
    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
    Pour Illustrer

    J'ai ajouté un tMysqlLastInsertId

    Nom : tMysqlLastInsertId1.png
Affichages : 570
Taille : 29,1 Ko



    J'ai ajouté ma connexion
    Nom : tMysqlLastInsertId2.png
Affichages : 552
Taille : 39,9 Ko


    Pour avoir cette image, j'ai plusieurs manipulation sans te le cacher :
    1. J'ai séléctionné à nouveau la connexion : ça n'a pas marché
    2. J'ai cliqué sur le tMysqlConnexion puis sur le tMysqlLastInsertId en pensant que le code n'etait pas raffraichit , ce n'était pas ça
    3. j'ai fermé le job et réouvert le job : ça n'a rien changé
    4. j'ai supprimé le tMysqlLastInsertId et j'en ai mi un autre : ça n'a rien changé
    5. j'ai re-sectionné la connexion, toujours rien.
    6. J'ai réouvert le job c'etait bon


    Nom : tMysqlLastInsertId3.png
Affichages : 515
Taille : 87,7 Ko

    Pour pieger Talend sur le changement
    Tu peux essayer de mettre une deuxième connexion bidon. Comme ça tu pourras peut-être changer plus facilement de valeur.
    Et après tu supprime ta deuxième connexion
    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

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Bonjour supergeoffrey !!

    Désolé ça fait 3 semaines que je ne t'ai pas répondu j'étais assez occupé^^. Mais je n'abandonne pas!
    Tu as tout à fait raison!! C'est effectivement mon tMysqlLastInsertId qui ne contient pas le code pour la connexion du tMysqlConnection. Par contre j'ai essayé de reproduire tes manipulations mais la ligne ne s'ajoute toujours pas .

    Je t'ai mis le code de mon tMysqlLastInsertId.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    	/**
    	 * [tMysqlLastInsertId_1 end ] start
    	 */
     
     
     
     
     
    	currentComponent="tMysqlLastInsertId_1";
     
     
     
    pstmt_tMysqlLastInsertId_1.close();
     
    globalMap.put("tMysqlLastInsertId_1_NB_LINE",nb_line_tMysqlLastInsertId_1);
     
     
     
    ok_Hash.put("tMysqlLastInsertId_1", true);
    end_Hash.put("tMysqlLastInsertId_1", System.currentTimeMillis());
     
     
     
     
    /**
     * [tMysqlLastInsertId_1 end ] stop
     */
    EDIT: J'ai réussi à trouver le code dont tu m'a parlé mais au sein du fichier de mon job c'est à dire monJob.java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    /**
    				 * [tMysqlLastInsertId_1 begin ] start
    				 */
     
    				ok_Hash.put("tMysqlLastInsertId_1", false);
    				start_Hash.put("tMysqlLastInsertId_1",
    						System.currentTimeMillis());
     
    				currentComponent = "tMysqlLastInsertId_1";
     
    				int tos_count_tMysqlLastInsertId_1 = 0;
     
    				java.sql.Connection conn_tMysqlLastInsertId_1 = (java.sql.Connection) globalMap
    						.get("conn_tMysqlConnection_1");
    				java.sql.PreparedStatement pstmt_tMysqlLastInsertId_1 = conn_tMysqlLastInsertId_1
    						.prepareStatement("SELECT LAST_INSERT_ID()");
     
    				int nb_line_tMysqlLastInsertId_1 = 0;
     
    				/**
    				 * [tMysqlLastInsertId_1 begin ] stop
    				 */
    Mais il y a aussi d'autre partit du code dispatché dans le job comme par exemple la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /**
    										 * [tMysqlLastInsertId_1 main ] start
    										 */
     
    										currentComponent = "tMysqlLastInsertId_1";
     
    										row8.ID_APPAREIL = row7.ID_APPAREIL;
    										row8.UTILISATEUR_ID_UTILISATEUR = row7.UTILISATEUR_ID_UTILISATEUR;
    										row8.TYPE_APPAREIL_ID_TYPE_APPAREIL = row7.TYPE_APPAREIL_ID_TYPE_APPAREIL;
    										row8.STATUT_APPAREIL_ID_STATUT_APPAREIL = row7.STATUT_APPAREIL_ID_STATUT_APPAREIL;
    										row8.NUMERO_SERIE = row7.NUMERO_SERIE;
    										row8.NUMERO_SBE = row7.NUMERO_SBE;
    										row8.DATE_ACHAT = row7.DATE_ACHAT;
    										row8.DATE_RECEPTION = row7.DATE_RECEPTION;
    										row8.DATE_FIN_GARANTIE = row7.DATE_FIN_GARANTIE;
    										row8.NUMERO_IMEI = row7.NUMERO_IMEI;
    										row8.CODE_PUK = row7.CODE_PUK;
    										row8.NUMERO_CARTE_SIM = row7.NUMERO_CARTE_SIM;
    										row8.FORFAIT_ID_FORFAIT = row7.FORFAIT_ID_FORFAIT;
    										row8.NUMERO = row7.NUMERO;
    										java.sql.ResultSet rs_tMysqlLastInsertId_1 = pstmt_tMysqlLastInsertId_1
    												.executeQuery();
    										if (rs_tMysqlLastInsertId_1.next()) {
    											row8.last_insert_id = rs_tMysqlLastInsertId_1
    													.getInt(1);
    										}
    										nb_line_tMysqlLastInsertId_1++;
     
    										tos_count_tMysqlLastInsertId_1++;
     
    										/**
    										 * [tMysqlLastInsertId_1 main ] stop
    										 */
    Sinon j'ai toujours pas trouvé la solution...

    EDIT: J'ai finalement réussi mon opération!!!!!!!! En faite j'ai repris la documentation de talend sur le lastInsertId et j'ai tout d'abord reproduit bêtement le schéma de la documentation. Puis j'ai commencé à changer certain composant comme le tmysqloutput (j'ai pris celui que j'ai dans mes metadonnée) et je l'ai configuré avec la connexion existante et j'ai repris le reste de mon schéma. Au final il me retourne bien mes id après insertion!! Par contre sur l'ancien schéma j'ai fait les corrections mais il ne fonctionne toujours pas mais si jamais je trouve l'erreur je posterai la solution. En tout cas mon problème est résolu et je vais pouvoir continuer mon travail sur talend car la c'était un fichier de test et maintenant je vais passer aux choses sérieuses lol. En tout cas je te remercie encore supergeoffrey pour ton aide car elle m'a été très utile!! Je remet une image de mon schéma fonctionnel:

    Nom : Schéma_talendV3.png
Affichages : 633
Taille : 56,8 Ko

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

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. Réponses: 6
    Dernier message: 07/12/2012, 13h40
  3. Réponses: 11
    Dernier message: 20/07/2007, 15h32
  4. Récupérer les maximums pour chaque ensemble ?
    Par vynce dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/12/2005, 09h52
  5. Récupérer les valeur d'un énuméré dans une string
    Par Oliv_75 dans le forum SL & STL
    Réponses: 5
    Dernier message: 28/09/2005, 00h55

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