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 :

tmysqloutput Null PointerException


Sujet :

Développement de jobs

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut tmysqloutput Null PointerException
    Bonjour,
    je comprends pas qd je lance mon job pour la premiere fois il me fait une erreur tmysqloutput nullpointer... si je reexecute juste apres avoir changer ce composant il compile et execute sans erreur. Si je ferme et je reouvre il me refait la mm erreur soit avec le meme tmysqloutput soit avec un autre...
    Je ne pense pas que se soit un probleme de connexion a la base car si je vais sur tmysqloutput jarrive a visualiser.
    Avez vous une idee sil vous plait car il me fait cette erreur dans plusieurs jobs...
    merci
    Elise

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Elise49 Voir le message
    Bonjour,
    je comprends pas qd je lance mon job pour la premiere fois il me fait une erreur tmysqloutput nullpointer... si je reexecute juste apres avoir changer ce composant il compile et execute sans erreur. Si je ferme et je reouvre il me refait la mm erreur soit avec le meme tmysqloutput soit avec un autre...
    Je ne pense pas que se soit un probleme de connexion a la base car si je vais sur tmysqloutput jarrive a visualiser.
    Avez vous une idee sil vous plait car il me fait cette erreur dans plusieurs jobs...
    merci
    Elise
    Qqun a une idee du reel probleme? car l'erreur n'est pas tres explicite.
    merci

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Elise49 Voir le message
    Qqun a une idee du reel probleme? car l'erreur n'est pas tres explicite.
    merci
    il mets un warning a cette ligne la: ligne 3005 "tMysqlInput_14Process(globalMap);"
    Voila l'erreur:
    Exception in component tMysqlInput_14
    java.lang.NullPointerException
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_14Process(Nbcompatibilityapplicationworkplace.java:4707)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_3Process(Nbcompatibilityapplicationworkplace.java:3005)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.runJobInTOS(Nbcompatibilityapplicationworkplace.java:15706)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.main(Nbcompatibilityapplicationworkplace.java:15586)
    Avez vous une idee pk il fait ca?

  4. #4
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    As-tu été voire dans l'onglet code ce qu'il y a à cette ligne ? Ca pourra surement t'aider pour voire d'où provient l'erreur.

    PS : pense à mettre ton code entre balises code
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par jsd03 Voir le message
    As-tu été voire dans l'onglet code ce qu'il y a à cette ligne ? Ca pourra surement t'aider pour voire d'où provient l'erreur.

    PS : pense à mettre ton code entre balises code
    Voila mon erreur?
    Exception in component tMysqlInput_2
    java.lang.NullPointerException
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_2Process(Nbcompatibilityapplicationworkplace.java:9787)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_8Process(Nbcompatibilityapplicationworkplace.java:8818)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_7Process(Nbcompatibilityapplicationworkplace.java:13943)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_3Process(Nbcompatibilityapplicationworkplace.java:3544)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.runJobInTOS(Nbcompatibilityapplicationworkplace.java:16468)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.main(Nbcompatibilityapplicationworkplace.java:16348)
    Voila ce qu'il y a au ligne indiquer dans l'erreur,

    ligne 9787:conn_tMysqlInput_2 = (java.sql.Connection) globalMap
    .get("conn_tMysqlConnection_1");

    ligne 8818: tMysqlInput_2Process(globalMap);

    13943: tMysqlInput_8Process(globalMap);
    3544: tMysqlInput_7Process(globalMap);
    Qu'est ce que veut dire les trois derniere erreurs? la premiere on dirait que ma connexion a une erreur mais pk? j'utilise le connexion exitante. je louvre au debut et je la ferme a la fin.

  6. #6
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Pourrais-tu mettre les 5 lignes qui sont avant et après les lignes 9787 et 8818 ?
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    La je viens d'executer il m'a fait une erreur:

    sur cette ligne: java.sql.Statement stmt_tMysqlInput_14 = conn_tMysqlInput_14.createStatement();

    Ca semble etre une probleme de connection...?? mais je comprends pas pk

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    desole je viens de comprendre

    Exception in component tMysqlInput_2
    java.lang.NullPointerException
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_2Process(Nbcompatibilityapplicationworkplace.java:9787)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_8Process(Nbcompatibilityapplicationworkplace.java:8818)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_7Process(Nbcompatibilityapplicationworkplace.java:13943)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.tMysqlInput_3Process(Nbcompatibilityapplicationworkplace.java:3544)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.runJobInTOS(Nbcompatibilityapplicationworkplace.java:16468)
    at bidwithoutbugg.nbcompatibilityapplicationworkplace_0_1.Nbcompatibilityapplicationworkplace.main(Nbcompatibilityapplicationworkplace.java:16348)


    Voila ce qu'il y a au ligne indiquer dans l'erreur,
    ligne 9787:conn_tMysqlInput_2 = (java.sql.Connection) globalMap
    .get("conn_tMysqlConnection_1");

    ligne 8818: tMysqlInput_2Process(globalMap);

    13943: tMysqlInput_8Process(globalMap);
    3544: tMysqlInput_7Process(globalMap);
    Qu'est ce que veut dire les trois derniere erreurs? la premiere on dirait que ma connexion a une erreur mais pk? j'utilise le connexion exitante. je louvre au debut et je la ferme a la fin.

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Bon apperemment cela vient bien de la connection car si jenleve louverture et la fermeture de la connection et j'utilise repository ca marche.
    Donc maintenant ma connection pk ca marche pas qd je mets connection et commit?

  10. #10
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    J'ai l'impression que tu as des erreurs un peu partout dans ce job...

    Ca m'est déjà arrivé d'avoir cette erreur quand j'ai fait du copier/coller de composant : talend te demande si tu veux renommer ou non ces composants. Il faut faire oui sinon ça pose soucis.

    Ensuite si ce n'est pas ça le soucis, vérifie comment tu as ordonnés les composant du job :

    tMySQLConnection -> tMySQLInput -> traitement -> tMySQLOUTPUt -> tMySQLCommit.

    Vérifie que dans ton tMySQLConnection tous les champs sont correctement remplis et que si certains champs on pour valeur une variable de contexte, qu'elle ne soit pas vide.

    Vérifie ensuite que dans tes composants tMYSQL..., ils utilisent bien la connection "Use an existing connection". Vérifie aussi dans ces composants que les champs non utilisés ne soient pas vident.

    Ultime chose : si tout va bien dans la connexion et dans les composants, vérifie les données qui transitent entre tes composants et surtout que ces données ne soient pas NULL. Tu peux activer les statistiques et les traces pour y voir plus clair : http://www.developpez.net/forums/d54...d/#post4276714

    Bonne chance
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  11. #11
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Citation Envoyé par Elise49 Voir le message
    Bon apperemment cela vient bien de la connection car si jenleve louverture et la fermeture de la connection et j'utilise repository ca marche.
    Donc maintenant ma connection pk ca marche pas qd je mets connection et commit?
    Peut être que le serveur est trop "occupé" pour te donner un nouveau slot pour te connecter à ta base de données. Tu fais un iterate avant ton ouverture de connexion ? ou une boucle ?
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par jsd03 Voir le message
    Peut être que le serveur est trop "occupé" pour te donner un nouveau slot pour te connecter à ta base de données. Tu fais un iterate avant ton ouverture de connexion ? ou une boucle ?
    En faites j'avoue que je suis novice et je ne sais pas ce qu'est un iterate? le choix qd on clic droit sur le composant row -> iterate? ca je ne sais pas a quoi cela sert donc jamais utilise.

    Par contre je te joins une imprime ecran de mon job la ou il y a le cercle c'est les mysqloutput ou jai des erreurs.
    Donc ma question, vu que mon tconnection est sur un autre "morceau" de mon job pe qu'il fait tout en parallele et du coup il tente d'acceder a mes tables sur ce morceau alors que la connection n'est tjrs pas faites, c'est possible ca?

  13. #13
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Et bien voilà le pourquoi du comment

    Il faut que tu fermes ta connexion en faisant un onSubjobOk sur le premier composant de ton groupe de composant. Donc dans ton cas sur le tMYSQLInput "transaction".

    Car là tu fermes ta connexion en fin de traitement du tMylsqOutput_1 qui n'est pas la fin de ta chaine. En gros ici si le traitement en sortie de tMysqlOuput_1 se finit avant la branche qui se trouve après le tMap10 ça arrêtera le traitement en base.

    J'avais d'ailleurs déjà répondu à un de tes messages à cette adresse : http://www.developpez.net/forums/d72...-or-component/

    De plus pense à regarder attentivement la FAQ http://www.developpez.net/forums/d54...d/#post4252297

    Et le site de talend.

    Bonne continuation
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Ah oki j'avais pas compris. Pour moi mon tMySQloutput1 etait la fin de ma chaine...
    Merci beaucoup
    Elise

    Encore desole pour l'ecriture sans accent...

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception in component tMysqlInput_14
    java.lang.NullPointerException
    	at bidwithoutbugg.copy_of_nbcompatibilityapplicationworkplace_0_1.Copy_of_Nbcompatibilityapplicationworkplace.tMysqlInput_14Process(Copy_of_Nbcompatibilityapplicationworkplace.java:5434)
    	at bidwithoutbugg.copy_of_nbcompatibilityapplicationworkplace_0_1.Copy_of_Nbcompatibilityapplicationworkplace.tMysqlInput_3Process(Copy_of_Nbcompatibilityapplicationworkplace.java:3485)
    	at bidwithoutbugg.copy_of_nbcompatibilityapplicationworkplace_0_1.Copy_of_Nbcompatibilityapplicationworkplace.runJobInTOS(Copy_of_Nbcompatibilityapplicationworkplace.java:16457)
    	at bidwithoutbugg.copy_of_nbcompatibilityapplicationworkplace_0_1.Copy_of_Nbcompatibilityapplicationworkplace.main(Copy_of_Nbcompatibilityapplicationworkplace.java:16337)

    Si sur ce transaction qu'il faut que je ferme ma connexion?car je les erreur suivant....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    java.sql.Statement stmt_tMysqlInput_14 = conn_tMysqlInput_14
    					.createStatement();
    tMysqlInput_14Process(globalMap);
    je pense que ce sont les meme erreurs qu'avant :'(
    ou j'ai pe mal compris ce que tu m'as dit!

  16. #16
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut


    Par contre si je peux me permettre une suggestion : tu aurais pu grandement alléger ton job en n'utilisant pas les jointures entre table avec un tMap mais en faisant directement une requête SQL dans un tMYSQLInput en faisant des jointures SQL, utiliser des DISTINCTS (en sql) à la place d'un tUniqRow, etc...

    Bonne continuation à toi.
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

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

    Informations forums :
    Inscription : Février 2009
    Messages : 213
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par jsd03 Voir le message


    Par contre si je peux me permettre une suggestion : tu aurais pu grandement alléger ton job en n'utilisant pas les jointures entre table avec un tMap mais en faisant directement une requête SQL dans un tMYSQLInput en faisant des jointures SQL, utiliser des DISTINCTS (en sql) à la place d'un tUniqRow, etc...

    Bonne continuation à toi.
    ok c'est vrai... Mais sinon pour mon dernier post, j'ai bien compris ou pas? car si je mets mon tcommit sur le tmysqloutput transaction j'ai toujours une erreur...

  18. #18
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Citation Envoyé par Elise49 Voir le message
    ok c'est vrai... Mais sinon pour mon dernier post, j'ai bien compris ou pas? car si je mets mon tcommit sur le tmysqloutput transaction j'ai toujours une erreur...
    Je parlais du tout premier tMySQLinput "transaction" le même où tu fais le tMySQLConnection :

    tMYSQLConnection -> onSubjobOK -> tMySQLInput ("Transaction") -> Main -> tMap...-> .....

    et tMySQLInput ("Transaction") -> tMYSQLCommit
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

Discussions similaires

  1. authentification + Null PointerException
    Par pipo7610 dans le forum JSF
    Réponses: 3
    Dernier message: 08/09/2008, 12h26
  2. Properties Null PointerException
    Par Goupo dans le forum Général Java
    Réponses: 21
    Dernier message: 30/04/2008, 13h34
  3. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 13h26
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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