Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2011, 15h09   #1
Futur Membre du Club
 
Inscription : mai 2009
Messages : 51
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 51
Points : 19
Points : 19
Par défaut Décalage nb ligne Talend/MSQuery

Bonjour,

J'ai un problème sur une requête qui ne s'exécute pas de la même façon entre Talend et MSQuery.

Pour info : TOS 3.1.1
MSQuery version 2000
Oracle 10g

Voici la requête, peut être vous aidera-t-elle a comprendre le problème :
Code :
1
2
3
4
5
6
7
8
9
10
11
SELECT
ODS.ODS_DECOMPTE.TPS_COD, ODS.ODS_DECOMPTE.DCS_SEQ, ODS.ODS_DECOMPTE.BEN_PER_IDT, 
ODS.ODS_DECOMPTE.RSQ_COD, ODS.ODS_DECOMPTE.DEST_PER_IDT, ODS.ODS_DECOMPTE.QTI_COD, 
ODS.ODS_DECOMPTE.PCI_CTR_NUM, ODS.ODS_DECOMPTE.PCI_PRC_COD, ODS.ODS_DECOMPTE.PCI_PRD_SEQ, 
ODS.ODS_DECOMPTE.PAY_NUM_PRESC, ODS.ODS_DECOMPTE.PAY_NUM_EXEC, ODS.ODS_PAIEMENT_DECOMPTE.PDC_DAT_PAIEMENT, 
ODS.ODS_DECOMPTE.DCS_MNT_ESTIME, ODS.ODS_DECOMPTE.DCS_MNT_ENGAGE, ODS.ODS_DECOMPTE.DEV_COD, 
ODS.ODS_DECOMPTE.DCS_IND_TAU_CHANGE, ODS.ODS_DECOMPTE.DCS_DAT_DEB_EXT, ODS.ODS_DECOMPTE.DCS_DAT_FIN_EXT, 
ODS.ODS_DECOMPTE.REC_TPS_COD, ODS.ODS_DECOMPTE.REC_DCS_SEQ,ODS.ODS_DECOMPTE.DCS_NO_FACTURE,NULL,NULL,ODS.ODS_DECOMPTE.ESA_PER_IDT
FROM
 ODS.ODS_DECOMPTE INNER JOIN  ODS.ODS_PAIEMENT_DECOMPTE ON(  ODS.ODS_PAIEMENT_DECOMPTE.PDC_SEQ = ODS.ODS_DECOMPTE.PDC_SEQ )
WHERE ODS.ODS_PAIEMENT_DECOMPTE.PDC_DAT_PAIEMENT >= '01/01/'||TO_CHAR(TO_NUMBER(TO_CHAR((SELECT PAR_DAT_JOUR FROM ODS.ODS_PARAMETRES), 'YYYY'))-2)
Le problème vient du nombre de ligne entre l'exécution sous Talend (1.548.435 lignes) et sous MSQ (4.875.427 lignes).
Comme vous pouvez le voir, l'écart est assez important.
Le bon nombre semble fonctionnellement celui de MSQ.

Ce que j'ai testé : Vérifier les paramètres de Talend et MSQ pour être sur d'être sur la bonne base. J'ai même arrêté la base pour être sur que qu'ils étaient sur la même.
Exécuté la requête sous forme de select, sous forme de count(*), j'ai même fait un insert select mais c'est toujours le même écart.

Auriez vous une idée de ce que je peux tester en plus ? Avez-vous entendu parlé d'une incompatibilité entre Talend 3.1.1 et Oracle 10g ?
Je suis ouvert à toute proposition.

Merci d'avance pour vos réponses.
bstevy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 15h46   #2
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Bonjour,

Est-ce que la colonne ODS.ODS_PAIEMENT_DECOMPTE.PDC_DAT_PAIEMENT est de format date ?
Si c'est le cas, peut-être pourrais-tu mettre un to_date à droite de l'inégalité afin qu'il ne fasse pas de conversion implicite.
Ça pourrait être la cause de différences dans le résultat de la requête si les 2 sessions n'ont pas les mêmes paramètres nls...

A essayer je dirais, ça peut être une piste.

Nicolas
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h22.


 
 
 
 
Partenaires

Hébergement Web