Decideo - Actualités sur le Big Data, Business Intelligence, Data Science

Abonnez-vous gratuitement à Decideo !


Decideo


 
Forums, dernières contributions

migration univers +rapport sur XI3.1 (URGENT)

 EMS
Jeudi 20 Novembre 2008

Version imprimable
[Ignorer]
bonjour j'ai migré mes rapports de xir2 qui se trouve dans le serveur A avec l'assistant d'importation de xi3 dans l'environnement de xi3.1 qui se trouve sur un autre serveur B.
Apres la migration, j'ai remarqué que la plupart des rapports ont des données fausses.
J'ai remarqué que les requêtes sql sont un peu différente, qu'il ajoute parfois une ligne en trop!
c'est pourtant le même moteur.
quelqu'un a t'il déjà eu à faire cette expérience?
pourriez vous m'expliquez en detail merci?
MERCI
 Phil
Jeudi 20 Novembre 2008

Version imprimable
[Ignorer]
Bonjour,

Pourrais tu nous donner un exemple : une requete SQL avant et apres migration vers XiR3 ?

Merci
 EMS
Jeudi 20 Novembre 2008

Version imprimable
[Ignorer]
bonjour phil
voilà l'une des requêtes sur xi3.1
j'ai SELECT DISTINCT
T_DA_LIG_CREDIT.NOP_LIGCREDIT,
T_DA_LIG_CREDIT.ECH_LIGCREDIT,
V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT,
V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT,
T_DA_LIG_CREDIT2.ECH_LIGCREDIT,
T_UNIFICATION_ENT.VAL_CIBLE,
T_UNIFICATION_CON.VAL_CIBLE
FROM
V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT)
INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT)
INNER JOIN T_DA_LIG_CREDIT T_DA_LIG_CREDIT2 ON (T_DA_LIG_CREDIT.ECH_LIGCREDIT>=T_DA_LIG_CREDIT2.ECH_LIGCREDIT)
INNER JOIN T_UNIFICATION T_UNIFICATION_ENT ON (T_UNIFICATION_ENT.CAT_UNIFICATION='ENT' AND T_DA_LIG_CREDIT.DIV_LIGCREDIT=T_UNIFICATION_ENT.VAL_KTP)
INNER JOIN T_UNIFICATION T_UNIFICATION_CON ON (T_DA_LIG_CREDIT.CON_LIGCREDIT=T_UNIFICATION_CON.VAL_KTP AND T_UNIFICATION_CON.CAT_UNIFICATION='COE' OR T_UNIFICATION_CON.CAT_UNIFICATION='COI')

WHERE
(
T_UNIFICATION_ENT.VAL_CIBLE IN @variable('Entité(s) : ?')
AND T_DA_LIG_CREDIT2.ECH_LIGCREDIT IN (SELECT
T_DA_LIG_CREDIT.ECH_LIGCREDIT
FROM
V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT)
INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT)

WHERE
(
V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT > V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT
AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?')
)
)
AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?')
)

et sur xi2 j'ai

REQXIR2

SELECT DISTINCT
T_DA_LIG_CREDIT.NOP_LIGCREDIT,
T_DA_LIG_CREDIT.ECH_LIGCREDIT,
V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT,
V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT,
T_DA_LIG_CREDIT2.ECH_LIGCREDIT,
T_UNIFICATION_ENT.VAL_CIBLE,
T_UNIFICATION_CON.VAL_CIBLE
FROM
V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT)
INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT)
INNER JOIN T_DA_LIG_CREDIT T_DA_LIG_CREDIT2 ON (T_DA_LIG_CREDIT.ECH_LIGCREDIT>=T_DA_LIG_CREDIT2.ECH_LIGCREDIT)
INNER JOIN T_UNIFICATION T_UNIFICATION_ENT ON (T_DA_LIG_CREDIT.DIV_LIGCREDIT=T_UNIFICATION_ENT.VAL_KTP)
INNER JOIN T_UNIFICATION T_UNIFICATION_CON ON (T_DA_LIG_CREDIT.CON_LIGCREDIT=T_UNIFICATION_CON.VAL_KTP)

WHERE
( T_UNIFICATION_ENT.CAT_UNIFICATION='ENT' )
AND ( T_UNIFICATION_CON.CAT_UNIFICATION='COE' OR T_UNIFICATION_CON.CAT_UNIFICATION='COI' )
AND (
T_UNIFICATION_ENT.VAL_CIBLE IN @variable('Entité(s) : ?')
AND T_DA_LIG_CREDIT2.ECH_LIGCREDIT IN (SELECT
T_DA_LIG_CREDIT.ECH_LIGCREDIT
FROM
V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT)
INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT)

WHERE
(
V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT > V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT
AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?')
)
)
AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?')
)
 EMS
Vendredi 21 Novembre 2008

Version imprimable
[Ignorer]
quand je prends le rapport xir2 et que je le mets sur le serveur de xi3, le rapport xir2 a les mêmes problemes qu'on retrouve dans celui du serveur de xi3.
quand je refais le rapport sans refaire les requêtes, j'ai éxactement les mêmes soucis.
quelqu'un peut m'aider?
 Phil
Vendredi 21 Novembre 2008

Version imprimable
[Ignorer]
Rien d'anormale en fait.
tu obtiens deja ce comportement à partir de BO XiR2 SP4.

En fait tu génères du code SQL ANSI 92 de meilleur qualité : à savoir toutes tes informations de jointures entre les tables se trouvent systematiquement dans la clause FROM de ta requete et notammenet les auto-jointures du style : T_UNIFICATION_ENT.CAT_UNIFICATION='ENT'
 pedro_paul
Vendredi 21 Novembre 2008

Version imprimable
[Ignorer]
L'optimisation Ok mais dégrader le résultat NON

Visiblement, il va mettre les objets de filtre déclaré sous Where dans la partie From.

En résumé, le résultat est différent, Est ce que la solution est de refaire les rapports!!?
ou on peut demander de réagir autrement?
 Phil
Vendredi 21 Novembre 2008

Version imprimable
[Ignorer]
Le resultat n'est pas différent, tu peux faire le test des 2 reqûetes directement dans ton editeur SQL
 EMS
Jeudi 27 Novembre 2008

Version imprimable
[Ignorer]
salut
oui Phil, les resultats sont différents et j'avais même tapé les 2 codes dans ma base de données!
mais j'ai trouvé une solution j'ai enlevé les alias de ces requêtes. et j'ai mis des vues qui ont remplacés ses alias et là j'ai obtenu les bons resultats des deux côtés.
mais je n'arrive toujours pas à comprendre pourquoi en xi3 avec les alias j'obtenais de faux résultats!


Twitter
Rss
LinkedIn
Facebook
Apple Podcast
App Store
Google Play Store