|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2008 Messages : 27 ![]() |
Bonjour,
je suis un débutant sur Talend OS, mon problème et que j'ai deux activeCollab (donc sur deux bases mySQL) la structure est presque semblable, je dois assigner toutes les données de l'ancienne sur la nouvelle au même projet (archive 2010). Cependant j'ai compri le principe de Tmap pour "mapper" mes données, mais j'ai besoin de ne pas écraser les données de la nouvelle base.. Il faudrait que je récupère le "last id" de la nouvelle base et que je commence mes insertions à cette id + 1. Comment faire ? Merci pour vos réponses ! |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : février 2009 Messages : 114 ![]() |
Bonjour,
tu as plusieurs façon de procéder : 1. tu fait un Tmap dans laquelle tu fais une jointure Interne entre ton ancienne table et ta nouvelle table, tu coches sur la flèche violette, qui elle va te permettre de récupérer uniquement les infos qui n'existent pas dans ta nlle table, tu stocke tout dans une table temporaire que tu pourras suppimer après, puis tu insère le tout (Action sur la table = Aucun, Action sur le données = Inserer). 2. Il existe un composant mysql nommé : tMysqlLastInsertID, avec ce dernier, tu peux récupérer ton dernier Id insérer dans ton ancienne table, tu fait ta requête depuis cette table du genre : Code :
SELECT * FROM ancienne_table WHERE id >id_recupérer Puis tu envoie tout dans dans la nouvelle (pas besoin de faire le tMap si aucune transformation n'est effectuée) et pareil : Action sur la table = Aucun, Action sur le données = Inserer Il ya plusieurs façon de faire, ou tu stock à chaque fois ton lastId dans une table, ou un fichier, ... J'espère que ceci aidera
__________________
bbl MeMa |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : novembre 2008 Messages : 27 ![]() |
Merci !
je vais tester ces solutions dans la semaine |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com