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 :

Bug dans tParseRecordSet ?


Sujet :

Développement de jobs

  1. #1
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut Bug dans tParseRecordSet ?
    Bonjour,

    La structure de mon job est la suivante :
    tInterbaseInput_1 --row1--> tInterbaseRow_1 --row2--> tParseRecordSet_1 --row3--> tMap_1 --sortie--> tOutputFileExcel_1
    Code SQL de tInterbaseInput :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select Id, Nom, Adr, Cp, Ville from client
    Code SQL de tInterbaseInput avec pour paramètre Adr issu de la requête précédente :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select Adr1, Adr2, Adr3 from pr_decoupe_Adresse(?)
    Hormis Id, toutes les colonnes sont de type varchar.
    tParseRecordSet dispatche la transformation de la colonne Adr en 3 colonnes.

    Le comportement observé est le suivant : toutes les 10000 lignes exactement, une ligne passe à la trappe.

    Si je limite le traitement en entrée à 10000 lignes, j'ai 9999 lignes en sortie.
    Si je limite le traitement en entrée à 20000 lignes, j'ai 19998 lignes en sortie.
    et ainsi de suite, sachant que j'ai 125017 lignes en entrée, je n'ai plus que 125005 lignes en sortie, j'en ai perdu 12 !

    0 lignes avec Adr NULL, 52118 lignes avec Adr vide mais non NULL.

    L'environnement que je n'avais pas précisé, est le suivant :
    • Windows 7 pro 64 bits
    • Java 7u25 64 bits
    • TalendOS 5.6.0.20141024_1545 64 bits
    • Interbase XE (10.0.5.595) 32 bits + interclient.jar correspondant côté Talend


    Une idée ?

    J'ai réalisé un POB que j'ai publié sur le forum Talend des bugs...
    Philippe.

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Après quelques échanges sur le forum TalendForge et quelques recherches plus poussées, il ressort que ce n'est pas le composant tParseRecordSet qui est en cause mais son prédécesseur tInterbaseRow qui dans la configuration indiquée propose un paramètre avancé "Commiter toutes les" dont la valeur par défaut est 10000 !
    Si on la définit à 20000, C'est une ligne toutes les 20000 qui disparaitra.
    Dans le cas de mon traitement, si on la définit à 125018, aucune ligne disparaitra.

    Définir une deuxième connexion dans le référentiel et en affecter une différente à chacun des deux composants tInterbaseInput et tInterbaseRow ne résout pas le problème.

    Par contre, introduire un composant tInterbaseConnection en début de traitement et y lier les deux composants permet de contourner ce bug. Le paramètre précédemment cité devient sans objet et n'est plus proposée. Le composant tInterbaseConnection propose un paramètre "Commit automatique" dont la valeur (vrai/faux) n'influe pas sur le résultat...

    On aura :

    tInterbaseConnection_1 --OnSubJobOk--> tInterbaseInput_1 --row1--> tInterbaseRow_1 --row2--> tParseRecordSet_1 --row3--> tMap_1 --sortie--> tOutputFileExcel_1

    Je marque même s'il s'agit à l'heure actuelle plus d'un contournement que d'un bug qui aurait été corrigé...
    Philippe.

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

Discussions similaires

  1. Bug dans le TCheckListBox ?
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 6
    Dernier message: 04/11/2004, 08h39
  2. Bug dans les expressions régulières ?
    Par SergioF dans le forum Linux
    Réponses: 8
    Dernier message: 12/05/2004, 15h14
  3. [PROPERTIES] Bug dans java.util.Properties ?
    Par mathieu dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 28/04/2004, 15h11
  4. bug dans une base Access
    Par bizouard dans le forum Access
    Réponses: 5
    Dernier message: 29/12/2003, 12h41

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