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 :

Execution d'un job talend sous java


Sujet :

Développement de jobs

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 35
    Points
    35
    Par défaut Execution d'un job talend sous java
    Bonjour j'ai crée un job qui importe un fichier CSV dans une bdd Mysql
    le job marche bien sous talend mais quand je l'exporte pour l'executer sous java j'ai l'erreur suivante :
    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
    Exception in component tMysqlOutput_1
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "null"'.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.Util.getInstance(Util.java:384)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:298)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at importationsql.job1_0_1.job1.tFileInputDelimited_1Process(job1.java:712)
        at importationsql.job1_0_1.job1.runJobInTOS(job1.java:1212)
        at importationsql.job1_0_1.job1.main(job1.java:1066)
        at Talend.main(Talend.java:9)
    Caused by: java.lang.NumberFormatException: For input string: "null"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at com.mysql.jdbc.NonRegisteringDriver.port(NonRegisteringDriver.java:814)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
        ... 6 more
    Aidez moi SVP

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    As-tu des logs de Talend en plus de la stack trace générée par ton appli java ?

    Les param de ta connexions sont ils passés en paramètre du runJobInTOS depuis ton code java ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    le job s'execute sans probleme sous talend j'arrive a alimenter la base de donnée sans erreur
    la 2ème question je comprend pas tro

  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
    Comment as-tu paramétré ton composant tMysqlOutput_1 ?
    Apparemment tu as utilise des variables de contexte pour la connexion ?

    Si c'est bien le cas il semblerait que tu renseignes mal ces variables lors de l'exécution via scripts.

    Nicolas

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    Merci pour la réponse
    en fait je n'ai rien paramétré j'ai fait un drag and drop et j'ai choisi tMysqlOutput
    et sinon oui j'ai utilisé un context pour la connexion ce que je n'arrive pas à comprendre c'est pourquoi cela s'excute sur TOS et pas sur eclipse
    peut etre j'ai pas bien placé les fichier
    voila ce que j'ai fait :
    j'ai copié les sources java sur le répertoire src et j'ai importer les librairies et puis créer le main suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Talend
    {
        public static void main(String[] args)
        {
     
            test.myjob_0_1.myJob.main(new String[]{});
     
        }
    }
    test est le nom du projet

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Si pour les paramètres de ta connexion Oracle, tu utilises des variables de contexte, il te faut initialiser ces variables lorsque tu appelles ton job dans ton code java.

    En l'occurrence, le tableau de String que passes en paramètre de ta méthode runJobInTos doit permettre l'initialisation des valeurs de contexte. En outre, je te conseille de ne pas utiliser la méthode main de ton job mais bien la méthode runJoInTos.

    Aucun rapport avec ton erreur, mais tu as importé manuellement les jar générés par Talend dans ton projet Eclipse. J'aurais plutôt tendance à charger dynamiquement les jar (cela te permet de ne pas avoir à impacter ton code java et à redéployer si tu dois regénérer tes jar Talend).

    Est-ce que tu pourrais envoyer :
    > Un screen-shot de ton job (avec les variables de contexte visibles)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    Merci tetsu pour tes réponses
    tu peux me montrer un exemple de comment passer les paramètres a runJobInTos
    voila une image de ce que vous m'avez demandé
    http://hpics.li/44aa561

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Puisque tu as chargé les jar Talend à la mano dans Eclipse et que tu n'utilises donc pas l'introspection, ça devrait donner quelque chose du style.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    String[] params=new String[]
    {
    "--context_param",
    "connection_Database=MaBase",
    "--context_param",
    "connexion_Login=monLogin",
    etc.
    };
    Object[] passedArgv = { params};
     
    test.myjob_0_1.myJob.runJobInTos(passedArgv );
    PS : Edit de la partie code.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    Merci pour ton aide
    Vous m'avez beaucoup aidé
    ça marche maintenant

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    N'oublis pas de passer le thread en "Résolu" dans ce cas.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    bonjour , j'ai le même problème que skouza .

    sauf que l'erreur que j'ai est :

    Exception in component tFileInputExcel_2
    java.lang.Exception: The data source should be specified as Inputstream or File Path! at test.job_0_1.job.tFileInputExcel_2Process(moncode.java:1243)

    Merci de m’orienter

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

Discussions similaires

  1. Executer job talend sous spagoBI
    Par ensatTetouan dans le forum SpagoBI
    Réponses: 9
    Dernier message: 02/06/2014, 10h54
  2. Exécuter un job talend sous SpagoBI
    Par ensatTetouan dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 13/04/2012, 10h06
  3. Problème d'execution d'un job Talend (Exception)
    Par Botfounast dans le forum Exécution et industrialisation
    Réponses: 6
    Dernier message: 23/10/2011, 20h46
  4. [SBI TALEND] exécution d'un job Talend sous SpagoBI
    Par guilart dans le forum SpagoBI
    Réponses: 2
    Dernier message: 05/05/2011, 09h23
  5. executer .bat dans job talend
    Par Elise0251 dans le forum Exécution et industrialisation
    Réponses: 2
    Dernier message: 16/11/2009, 09h42

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