|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Étudiant Inscription : mars 2007 Messages : 44 ![]() |
Bonjour,
J'ai crée un job qui permet d'inserer dans des tables oracle des données provenant d'un fichier texte. Le job prend en compte 1 tFileDelimited, 1 tMap (pour les transformations et la repartition des données dans les différentes tables) et plusieurs tOracleOutput. Mon problème est que dans mon fichier il y a des doublons. J'aimerais faire une requete qui permet d'inserer les données si elles sont inexistantes sinon mettre dans une autre table ou dans un fichier les données existantes (temporairement pour voir si le job fonctionne correctement) . Qui aurait une ébauche de solutions? Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 24 ![]() |
Bonjour,
Différentes options permettent de répondre à votre question. En voici quelques unes que vous pourrez adapter en fonction de votre contexte. Vous pouvez, par exemple, insérer un tUniqueRow entre votre tFileInputDelimited et votre tMap. Une autre idée peut être d'utiliser l'option l'action sur la table Update / Update Or Insert dans le tOracleOutput. Cordialement, Michaël. . |
|
|
00
|
|
|
#3 | ||
|
Futur Membre du Club
![]() Étudiant Inscription : mars 2007 Messages : 44 ![]() |
Merci je vais essayer ca
Quelle est la différence entre insert or update et update or insert ? J'ai aussi depuis peu un message d'erreur qui s'affiche : Code :
Merci d'avance |
||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : janvier 2007 Messages : 149 ![]() |
C'est un probleme de Classpath il me semble.
Pour l'update/update et insert soit mise a jour seulement soit mise a jour et insertion des nouvelles lignes |
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 24 ![]() |
En fait l'ordre
"insert or update" ou "update or insert" est une facilité qui permet principalement d'accélérer la performance de son job. Si on a 1000 nouvelles lignes et 100 à updater, le insert or update sera plus performant, et inversement. Michaël. |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Étudiant Inscription : mars 2007 Messages : 44 ![]() |
Ok je comprend mieux.
C'est à dire un probleme de classpath ? |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Étudiant Inscription : mars 2007 Messages : 44 ![]() |
Je reviens vers vous pour avoir plus de précisions sur le composant tUniqRow.
Peut on utiliser plusieurs tUniqRow relié à un seul tMap? Je m'explique, j'ai une table qui contient un certain nombre de ligne et de colonne. Je souhaite repartir les informations dans plusieurs autres tables. Par exemple, les colonnes 2 et 3 dans la table A, les colonnes 4 et 5 dans la table B les colonnes 6 et 7 dans la table C et ainsi de suite. Jusque la j'ai pas de problème ca marche bien. J'ai utilisé un composant tInputOracle relié à un tMap et le tMap relié à plusieurs tOutputOracle. Ce job me rempli bien mes tables mais il y a beaucoup de doublons. Ce qui est normal (vu qu'on parcours la table et on repartit les informations). Donc j'ai testé les 2 solutions possibles proposées ci-dessus mais avec quelques soucis. J'ai essayé de changer la propriété "Action on Data". J'ai testé Insert & Update et Update & Insert. Mais dans l'un rien n'est ecris et dans l'autre aucun doublon n'est supprimé! Ensuite j'ai testé la 2e possibilité en utilisant le composant tUniqRow. Mais la encore un problème. Quand je crée un job avec un seul tUniqRow, ca marche nickel mais lorsque j'en met 2 ou 3 ca marche plus ou moins bien. C'est à dire si dans le premier tUniqRow qui est executé il trouve 3 enregistrements meme si il y en a plus, dans les autres tUniqRow il ne va ecrire que 3 enregistrements. Est-ce que c'est normal? SI oui pourquoi? Sinon comment faire pour bien supprimer les doublons? Je dois obligatoirement le mettre apres le tMap je ne peux pas le mettre entre mon tInputOracle et le tMap (vu qu'il y a plusieurs tables de sorties). Merci d'avance (en esperant m'être bien expliqué) |
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Étudiant Inscription : mars 2007 Messages : 44 ![]() |
Pour illustrer mes questions précédentes, quelques copies d'ecran
J'ai executé trois fois le job en changeant l'ordre des tUniqRow |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Étudiant Inscription : mars 2007 Messages : 44 ![]() |
Quelqu'un aurait il eu et resolu le même problème?
Merci d'avance |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Slim Analyste Programmeur Inscription : janvier 2008 Messages : 108 ![]() |
Bonjour
"pour cette partie J'ai essayé de changer la propriété "Action on Data". J'ai testé Insert & Update et Update & Insert. Mais dans l'un rien n'est ecris et dans l'autre aucun doublon n'est supprimé!""Insert & Update" ou Update & Insert: s'il ne trouve pas d'enregistrement il va les inséré, s'il en trouve il va les 'update', coe ils sont inchangé tu ne verras pas le changements! A aucun moment tu ne lui demande de supprimer les doubons Pour ne plus avoir les doublons, éssaie d'abord de supprimée puis des les re-inséré! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com