|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Justine Dreyfus Inscription : juin 2010 Messages : 109 ![]() |
Bonjour
Je travaille avec une base de données Oracle 11g et Talend Open Studio version 4.1.2... J'ai réalisé un job qui me permet de récupérer les champs de plusieurs tables d'une même base, afin de remplir un fichier .csv avec les données des déclarations de sinistre (en assurance). Après avoir récupéré ces données, j'effectue dessus deux traitements différents et séparés. Je dois ensuite les ré-assembler dans un même fichier (le schéma des deux flux de données étant exactement le même, ainsi que celui du fichier final). J'ai testé plusieurs solutions, mais à chaque fois, j'ai l'impression que les deux écritures dans le fichier se font simultanément, ce qui conduit au décalage de certain champs. Ainsi je me retrouve avec des champs de type date contenant des données de type string (par exemple 'Société' ou encore 'France' qui vont normalement dans d'autres champs.) Les deux solutions principales testées sont dans le .zip joint à ce post. J'ai fait aussi quelques variantes avec des 'onComponentOk' sur le fichier output, avant d'écrire le deuxième flux dans ce même fichier. J'ai aussi essayé avec un tUnite... Je n'arrive pas à résoudre mon problème! Le fait est que j'effectue quelques traitements avant de séparer les deux flux de données, et je ne souhaite donc pas créer les deux flux séparément à partir de deux tOracleInput contenant la même requête... Ce serait utiliser de la mémoire bêtement... Merci pour votre aide. Sinistres.zip |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
Bonjour,
En partant de ta version 2, concernant le déclenchement de 2 deuxième sous-job qui lit ton fichier temporaire, je crois que le mieux serait d'utiliser un lien 'On Subjob Ok' à partir de ton composant tOracleImput 'Request'. Pour l'insertion des lignes dans ton fichier, il me semble qu'il faut cocher l'option 'Output in row mode' dans l'onglet 'Advanced settings' des propriétés de tes composants tFileOutputDelimited. Nicolas |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Justine Dreyfus Inscription : juin 2010 Messages : 109 ![]() |
Bonjour,
Voila ce que j'ai fais : Sinistres.zip J'ai toujours un problème à la lecture de 'BAMBRIDGE', je ne comprend pas pourquoi! Cette erreur intervient la où j'ai dessiné un rond rouge sur le schéma... J'ai bien coché la case 'output in row mode' pour les deux tFileOutputDelimited... Je ne trouve pas la solution! Merci pour votre aide |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
L'erreur For Input String intervient par exemple lorsqu'un champ numérique contient une valeur qui n'est pas numérique.
Dans ton cas, tu dois avoir la valeur 'BAMBRIDGE' dans un champ dont le format ne correspond pas. |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Justine Dreyfus Inscription : juin 2010 Messages : 109 ![]() |
En effet, dans le champs 'localité', j'ai "Stade Bambridge", et le champs suivant est responsabilité (un integer)... Je pense donc que la chaine est splittée en deux au niveau de l'espace et que la deuxième partie (bambridge) est donc dans le champs suivant... A quoi cela peut-il être du?
|
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
Est-ce qu'il n'y aurait pas le caractère que tu as utilisé comme séparateur dans ton fichier dans une valeur ?
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Justine Dreyfus Inscription : juin 2010 Messages : 109 ![]() |
YYYYYYEEEEEEEEESSSSSSSSSS!!!
Merci infiniment!!! Le problème venait de la! Mon séparateur de champs était ";",donc oui effectivement il devait être utilisé... C'est top! J'ai donc mis en séparateur "::", j'espère que ça conviendra définitivement! Merci merci merci |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
Je crois qu'on l'aura tous rencontré au moins une fois le coup du séparateur qui se balade dans les données
Du coup pour mes fichiers temporaires, j'utilise des séparateurs un peu exotiques, du genre ""+(char)254. Il faudrait vraiment trouver des utilisateurs tordus pour utiliser ce genre de caractère. Nicolas |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Justine Dreyfus Inscription : juin 2010 Messages : 109 ![]() |
En effet!!!
Merci encore pour ton aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com