Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/03/2011, 09h27   #1
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
Par défaut probleme d'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 :
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
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 10h55   #2
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
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 ?
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 11h13   #3
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
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
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 11h54   #4
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
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
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 13h22   #5
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
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 :
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
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 14h22   #6
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
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)
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 15h26   #7
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
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
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 16h17   #8
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
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 :
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.
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 16h53   #9
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
Merci pour ton aide
Vous m'avez beaucoup aidé
ça marche maintenant
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 17h02   #10
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
N'oublis pas de passer le thread en "Résolu" dans ce cas.
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h41.


 
 
 
 
Partenaires

Hébergement Web