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 :

Job qui ne fonctionne pas en .bat après l'avoir construit


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut Job qui ne fonctionne pas en .bat après l'avoir construit
    Bonjour,

    Toujours débutant sur ce logiciel, toujours en difficulté.
    Maintenant que le job que je voulais faire fait ce qu'il a à faire quand je le lance par Talend Open Studio j'ai décidé de le construire pour en sortir le script que j'aimerai faire fonctionner au clic d'un bouton sur un site plusieurs questions/problèmes ce posent à moi :

    Le script ne marche pas, du moins pas vraiment, contrairement à ce qui ce produisait sur le logiciel quand je lance le job.bat il se lance, commence à faire son taff puis se ferme très vite, il se ferme plus ou moins vite selon certaines fois mais il est dans tout les cas loin de faire tout ce qu'il faisait en compilant sur TOS, je ne comprend donc pas pourquoi il a un fonctionnement différent en .bat ?

  2. #2
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Effectivement quand tu lances ton job à travers ton scripts .bat, il s'exécute tellement vite que tu ne sais pas si c'est un plantage ou pas, vu que tu ne peux même pas voir l'invite de commandes. Ainsi, Pour afficher la console après l'exécution d'un traitement dont je veux voir sur la console, j'utilise le composant tMsgBox à la fin du traitement, ça te permettra de voir ce qui ce passe et de cliquer sur OK pour terminer le job.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    excusez moi pour le retard je vais essayer ça au plus vite et je vous tient au courant.


    Edit: Bon et bien j'ai réussi à voir le message d'erreur effectivement ça ne risquait pas de marcher problème résolu maintenant mon .bat fonctionne parfaitement le problème est maintenant que j'utilise un interface web html/php pour contrôler tout ça, dépôt d'un fichier etc et j'aimerai que le job qui traite se fichier se lance aussi depuis une interaction de la page web j'ai donc cherché si on pouvait executer un script avec un bouton en php mais rien ne fonctionne pour le moment je ne sais pas trop comment faire

  4. #4
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fr0stFR Voir le message
    Bonjour,

    excusez moi pour le retard je vais essayer ça au plus vite et je vous tient au courant.


    Edit: Bon et bien j'ai réussi à voir le message d'erreur effectivement ça ne risquait pas de marcher problème résolu maintenant mon .bat fonctionne parfaitement le problème est maintenant que j'utilise un interface web html/php pour contrôler tout ça, dépôt d'un fichier etc et j'aimerai que le job qui traite se fichier se lance aussi depuis une interaction de la page web j'ai donc cherché si on pouvait executer un script avec un bouton en php mais rien ne fonctionne pour le moment je ne sais pas trop comment faire
    Cool, maintenant que ton job fonctionne correctement avec ton .bat, c'est déjà ça

    Je pense que lancer ton .bat avec un bouton html est simple, même si je ne connais pas tout de l'architecture de ton application web.

    tu fais une fonction php du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function launch_my_job(){
     
    system("cmd /c C:[path to file]");
     
    }
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function launch_my_job(){
     
    $str = exec('start /B Path\to\batch.bat');
    return $str;
     
    }
    ensuite, dans ton html tu fais un link à cette function ou bien, tu fais un formulaire html, ou tu utilises du javascript pour appeler ta fonction php.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Merci de l'aide apporté malheureusement comme ce que j'essayais avant ça ne fonctionne pas, le script ce lance et marche pendant une fraction de seconde avant de crash

    Je ne sais pas si c'est le php qui me bloque de part ces délais etc ou apache ou quelque chose que je ne soupçonne pas

  6. #6
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Sans log, sans message d'erreur, c'est difficile de t'aider. Vu qu'on ne connait pas le contexte de ton projet, on ne sait pas si ton jobs est simple ou très complexe qui appelle plein de composant et de librairie etc...

    Par contre, parmi les bests practices de dev sur Talend, il y a le fait de logger les étapes principales de tes jobs. sur tes différents composants par exemple, logger le nombre de lignes lus ou écrits si le composant est OK, sinon logger le message d'erreur de chaque composant, dans des fichiers par exemple. Ce qui te permettra de comprendre que ton job à planté sur tel ou tel composant et de voir le message d'erreur.

    Fichier => Editer les propriétés du projet

    Nom : logs_stats.PNG
Affichages : 1265
Taille : 54,7 Ko

    • Si tu utilise la version entreprise de Talend, jette un coup d'oeil sur l'API de Talend Administration Center https://help.talend.com/reader/rJGzS...phDnbxaUbGscNg , pour lancer des jobs Talend

    • Si tu veux appeler ton job directement dans Php regarde ça https://ktree.com/blog/calling-talen...plication.html
      Le principe est de créer un programme principal java qui va regrouper toutes les librairies de ton job Talend, ensuite dans ton php tu appelle la librairie .jar de ton programme principal, tu peux lui donné des paramètres à partir du php.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Le problème étant que je n'ai pas de message d'erreur quand je le fait tourner, que ce soit en script seul ou sur le logiciel,

    Pour contextualiser je récupère un fichier csv d'environ 8000 lignes représentant des commandes.

    Il y a trois types de commande 50 / 100 ou 500 et il y a aussi des ID de groupe 11,31,931 etc. etc. (environ 100groupes).

    Je dois trier ce gros fichier pour sortir pleins de petit csv séparant chaque groupe et selon la commande aussi donc environs 200fichiers de type 50_11.csv, 100_11.csv, 50_91.csv etc...

    Je ne pense pas que c'est un job très compliqué car c'est le premier que je fais donc pour qu'il fonctionne c'est que sa doit être assez simple, après je me suis aidé de ce que je pouvais trouver sur internet, en gros TOS met 15minutes à le compiler

    Pour les logs je ne sais pas trop quoi récupérer j'ai fait ce que tu m'as dit je suis aller voir le seul fichier que ça a généré "stats_files" mais il ne m'apprend rien de plus, après je pense que le soucis ne vient plus de mon job qui à l'air de fonctionner normalement quand je le lance manuellement mais plus de php qui n'aime pas trop ça.

    J'ai bien une erreur finalement mais ça ne fait pas planter la compilation et le résultat est le bon mais je reçois en fin de compilation :

    "Duplicata du champ '491_500.csv' pour la clef 'PRIMARY'" sur plusieurs fichier j'imagine qu'il essaye d'enregistrer plusieurs fois le fichier alors que c'est une clé primaire mais rien de bloquant

  8. #8
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Ok, pour
    Citation Envoyé par fr0stFR Voir le message
    J'ai bien une erreur finalement mais ça ne fait pas planter la compilation et le résultat est le bon mais je reçois en fin de compilation :
    "Duplicata du champ '491_500.csv' pour la clef 'PRIMARY'" sur plusieurs fichier j'imagine qu'il essaye d'enregistrer plusieurs fois le fichier alors que c'est une clé primaire mais rien de bloquant
    Par contre pour,

    Citation Envoyé par fr0stFR Voir le message
    Le problème étant que je n'ai pas de message d'erreur quand je le fait tourner, que ce soit en script seul ou sur le logiciel,

    Pour les logs je ne sais pas trop quoi récupérer j'ai fait ce que tu m'as dit je suis aller voir le seul fichier que ça a généré "stats_files" mais il ne m'apprend rien de plus
    C'est à toi de voir ce que tu veux mettre dans les logs, car pour passer d'un composant à un autre, ou d'un sous-job à un autre, tu as au moins les relations onComponentOk, onSubJobOk quand ton job s'éxécute correctement et que tout va bien sur ta machine de dev en local, tu ne verra pas l’intérêt des relations onComponentError, onSubJobError, mais dès que tu change de contexte et que tu es un server distant, dans ce cas tu ne pourras pas débugger ton job si tu ne sais pas ce qui se passe. Mais quand tu utilise la variable global des composants (String)globalMap.get("***_ERROR_MESSAGE"), d'où Fichier => Editer les propriétés du projet => Stats & Logs => qui va rediriger la sortie standard et erreur dans le fichier, Puis le composant tDie, cela te permettra de rapidement voir dans fichier log, les messages d'erreurs.

    Mais l'essentiel est que ton job marche, et qu'il fait ce que tu lui dit, le Peuple ne demande que ça
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  9. #9
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    D'accord j'ai mis des OnSubjobOk par contre je ne comprends pas trop comment fonctionne le tLogCatcher ainsi que le tDie

    Dans mon logs file j'obtient "2018-07-04 14:49:03;xxJq83;xxJq83;xxJq83;TESTCOMMANDE;commandepart2W;Default;5;tDie;tDie_3;the end is near;4" :/

  10. #10
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Et bien ça marche ! Je ne sais pas trop ce que j'ai changé en tout cas j'ai reconstruit le job et il fonctionne aussi sur le site avec la première façon de faire la simple fonction php appelé

    J'ai mis un petit popup tout gentil pour quand même prévenir qu'il ne faut rien toucher pendant 15minutes ^^'.


    Alors j'enchaine sur une question, j'aurai peut-être du refaire un topic mais tant que je suis là
    pour le moment tout est bien tout fonctionne tout est beau, je fais ce programme pour mon entreprise je suis en alternance et je pars donc dans 1an le problème étant que dans le script il va chercher le dossier de commande à un endroit bien spécifique un chemin complet et fixe, le problème étant que si à un moment quelqu'un vient à déplacer le dossier, le serveur ou quoi que ce soit, plus rien ne marche, j'ai donc mit sur mon site un espace de config ou l'utilisateur rentre le chemin ou il veut envoyer le dossier de commande et je l'enregistre dans la base, j'aimerai donc récupérer ce chemin dans le job et l'insérer dans le "Nom de fichier/Flux" de mon FileInputExcel ou tFileInputDelimited.

    pour ça j'ai mis un simple tMysqlInput pour récupérer mon chemin, avec un tJava je le met dans une variable "chemin" , j'ai essayé de l'afficher avec un tMsgBox et ça fonctionne bien, problème je ne sais pas comment mettre cette variable dans le champ de mon Input me mettant à chaque fois comme erreur : chemin cannot be resolved to a variable

    j'ai essayé plusieurs façon de l'écrire aucune n'a fonctionné je suis pour le moment sur la première façon et la plus simple que j'avais mise : chemin + "/medecin.xls"

  11. #11
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut


    Citation Envoyé par fr0stFR Voir le message
    Et bien ça marche ! Je ne sais pas trop ce que j'ai changé en tout cas j'ai reconstruit le job et il fonctionne aussi sur le site avec la première façon de faire la simple fonction php appelé

    pour le moment tout est bien tout fonctionne tout est beau
    Ensuite,

    Citation Envoyé par fr0stFR Voir le message
    pour ça j'ai mis un simple tMysqlInput pour récupérer mon chemin, avec un tJava je le met dans une variable "chemin" , j'ai essayé de l'afficher avec un tMsgBox et ça fonctionne bien, problème je ne sais pas comment mettre cette variable dans le champ de mon Input me mettant à chaque fois comme erreur : chemin cannot be resolved to a variable

    j'ai essayé plusieurs façon de l'écrire aucune n'a fonctionné je suis pour le moment sur la première façon et la plus simple que j'avais mise : chemin + "/medecin.xls"
    Il te suffit juste de créer une variable de contexte en String par exemple appelons là chemin, ensuite dans le tJava tu fais : context.chemin = "à la valeur que tu as recuperé de tMysqlInput ", enfin tu fais : context.chemin + "/medecin.xls"

    ça devrais marché.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  12. #12
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Arf pas loin mais ça ne marche pas,

    ma requête fonctionne bien j'arrive avec un message a affiché la variable qu'elle sort et c'est bon le problème c'est la variable de contexte qui ne veux pas prendre sa valeur

    je fais bien mon context.chemin = row8.pathmodifs; row8.pathmodifs qui est bon donc et possède le chemin c:/.../.... et pourtant le context.chemin sort du tJava en étant vide

  13. #13
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Ya pas de raison quand tu fais context.chemin = row8.pathmodifs; que context.chemin ne soit pas valorisé.

    Si tu utilise un job principale qui appel un sous-job dans lequel tu appel ton tJava, dans ce cas pense à cocher la case transmettre tout le contexte, dans l'onglet composant.

    Nom : transfert.PNG
Affichages : 1196
Taille : 1,1 Ko

    Si context.chemin est toujours vide, dans ce cas affiche nous ton job.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  14. #14
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Je ne trouve pas cette case elle est dans l'onglet composant de quoi ?

  15. #15
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fr0stFR Voir le message
    Je ne trouve pas cette case elle est dans l'onglet composant de quoi ?
    Tu ne verra cette case que si tu utilises un job principale qui appel un sous-job dans lequel tu appel ton tJava, dans ce cas pense à cocher la case transmettre tout le contexte, oui dans l'onglet composant.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  16. #16
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    D'accord c'est bien ce que je pensais, effectivement je n'ai pas cette configuration donc je n'ai pas ce bouton voilà une image de mon job

    Nom : jobmedecin.png
Affichages : 1265
Taille : 45,8 Ko

  17. #17
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fr0stFR Voir le message
    voilà une image de mon job
    Avant de faire la capture de ton job exécute le d'abord comme ça on peut voir les traces stats et autres sur l'image. click sur le composant tJava et fait une capture de la partie composant afin qu'on voit le code, sinon la seule capture que tu affiche actuellement ne permet pas de voir ce qui se passe.

    Affiche l'onglet contexts aussi, afin de voir la déclaration de la variable de contexte chemin.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  18. #18
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    C'est pas faux autant pour moi voici quelque chose d'un peu plus précis :

    Nom : pbjob.png
Affichages : 1250
Taille : 77,9 Ko


    Le message d'erreur qui va avec :

    "Exception in component tFileInputExcel_1 (medecintri)
    org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file input stream from file: 'null\medecin.xls'
    at org.apache.poi.openxml4j.opc.ZipPackage.openZipEntrySourceStream(ZipPackage.java:155)
    at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:142)
    at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:117)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:257)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:187)
    at org.apache.poi.POIXMLDocument.openPackage(POIXMLDocument.java:90)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:336)
    at testcommande.medecintri_0_1.medecintri.tFileInputExcel_1Process(medecintri.java:2599)
    at testcommande.medecintri_0_1.medecintri.tMysqlInput_1Process(medecintri.java:914)
    at testcommande.medecintri_0_1.medecintri.runJobInTOS(medecintri.java:8785)
    at testcommande.medecintri_0_1.medecintri.main(medecintri.java:8621)
    Caused by: java.io.FileNotFoundException: null\medecin.xls (Le chemin d’accès spécifié est introuvable)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at org.apache.poi.openxml4j.opc.ZipPackage.openZipEntrySourceStream(ZipPackage.java:152)
    ... 10 more"

  19. #19
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fr0stFR Voir le message

    "Exception in component tFileInputExcel_1 (medecintri)
    org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file input stream from file: 'null\medecin.xls'
    Tu peux ajouter ces deux lignes dans le tJava :

    System.out.println(" context.chemin ==>:"+context.chemin);
    System.out.println(" row8.pathmodifs ==>:"+row8.pathmodifs);

    Exécute ton job, puis affiche la console ?

    Tu peux aussi sélectionner le composant en erreur, le tFileInputExcel_1, et afficher l'onglet composant.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  20. #20
    Membre à l'essai
    Homme Profil pro
    Assistant Développement
    Inscrit en
    Juin 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant Développement
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2018
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Et bien je viens finalement de réussir avec une solution alternative en farfouillant en anglais sur le forum de la communauté Talend j'ai trouvé une petite piste la solution étant donc de :

    Changer le tJava en tJavaRow et en code au lieu de : context.chemin =row8.pathmodifs;
    mettre : context.chemin = input_row.pathmodifs;

    Cela fonctionne parfaitement maintenant bon je vais pas mentir ce n'est pas totalement le résultat que je souhaitait mais je ne sais pas si je peux faire bien mieux avec talend et surtout mon niveau, je m'explique mon boulot est de refaire un logiciel existant qui faisait déjà la découpe etc mais qui ne pouvais plus être maintenu etc
    j'arrive donc à faire les mêmes fichier maintenant à l'exception près de la mise en page le logiciel mettait tout en forme sous un tableau etc moi c'est pas vraiment ça

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/04/2011, 14h09
  2. [AJAX] Redirection après Ajax qui ne fonctionne pas
    Par ingeniomatique dans le forum AJAX
    Réponses: 9
    Dernier message: 19/08/2010, 15h29
  3. Réponses: 4
    Dernier message: 06/08/2007, 16h17
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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