IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

est ce que Talend éxecute des requetes sql très complexes?


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 106
    Points : 54
    Points
    54
    Par défaut est ce que Talend éxecute des requetes sql très complexes?
    Bonjour tout le monde j'ai un fichier sql de centaines de lignes lorsque je l’exécute avec eclipse avec une connexion vers la base de données il s’exécute et donne des resultats sans erreurs, par contre avec talend je ne peux pas l’exécuter, comme si Talend exécute que des requetes simples de type select, order by...etc est ce que c'est vrai ou pas, svp merci de me répondre si quelqu'un a une réponse.

  2. #2
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    Bonjour,
    pourriez vous nous donner l'erreur retournée svp ?

  3. #3
    Membre du Club
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Points : 49
    Points
    49
    Par défaut
    et la requête aussi?

    De mon côté, j'exécute parfois des requêtes assez complexes et elles passent sous talend.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 106
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    Enfaite moi j'ai un fichier.sql et je veux l’exécuter avec talend, mais je ne sais pas avec quel composant je l’exécute et lorsque je mes le fichier dans requête stockée de la partie connexion metadonnées (à gauche) il affiche rien tandis qu'il est bien exécuté avec eclipse.
    Voici le sql:
    delete from SIMCO.BX_GERAppe;



    insert into SIMCO.BX_GERAppe
    select
    '1' As Departement, RegionOperationnelle as NomDepartement,
    bai.d01ste as societe, d01rs1 as NomSociete,
    g10mdg as Mandat,
    d30nm1 as NomImmeuble,
    g10ges as Gestionnaire,
    d65lib as NomGestionnaire,
    d03trs as Locataire,
    SoldeAvantTrimestre,
    Encaissement,
    case when Encaissement > 0
    then
    case when SoldeAvantTrimestre >= 0
    then 0
    else
    case when Encaissement + SoldeAvantTrimestre <= 0 then Encaissement else SoldeAvantTrimestre * -1 end
    end
    else 0
    end as EncaissementPourCompenserDebit,
    SoldeADateArrete,
    Quittancement,
    case when Encaissement = 0
    then 0
    else
    case when Quittancement = 0
    then 1
    else
    case when abs ( ( 1230.456789 + Encaissement - 1230.456789 ) / Quittancement ) > 1
    then abs ( ( 1230.456789 + Encaissement - 1230.456789 ) / Quittancement )
    else abs ( ( 1230.456789 + Encaissement - 1230.456789 ) / Quittancement )
    end
    end
    end as TauxEncaissementInstantane,
    case when SoldeAvantTrimestre + Quittancement = 0
    then 1
    else
    case when abs ( ( 1230.456789 + Encaissement - 1230.456789 ) / ( SoldeAvantTrimestre + Quittancement ) ) > 1
    then abs ( ( 1230.456789 + Encaissement - 1230.456789 ) / ( SoldeAvantTrimestre + Quittancement ) )
    else abs ( ( 1230.456789 + Encaissement - 1230.456789 ) / ( SoldeAvantTrimestre + Quittancement ) )
    end
    end as TauxEncaissementCumule,
    substring ( cast ( DebutPeriode as char ( 8 ) ) , 7 , 2 ) || '/' ||
    substring ( cast ( DebutPeriode as char ( 8 ) ) , 5 , 2 ) || '/' ||
    substring ( cast ( DebutPeriode as char ( 8 ) ) , 1 , 4 )
    as DebutPeriode,
    substring ( cast ( DateArrete as char ( 8 ) ) , 7 , 2 ) || '/' || substring ( cast ( DateArrete as char ( 8 ) ) , 5 , 2 ) || '/' || substring ( cast ( DateArrete as char ( 8 ) ) , 1 , 4 ) as DateArrete,
    substring ( cast ( 100 + day ( current date ) as char ( 3 ) ) , 2 , 2 ) || '/' ||
    substring ( cast ( 100 + month ( current date ) as char ( 3 ) ) , 2 , 2 ) || '/' ||
    cast ( year ( current date ) as char ( 4 ) )
    as DateTraitement
    from
    (
    select
    mdg.d01ste, mdg.g10mdg, d30nm1, g10ges, d03trs,
    case when SoldeAvantTrimestre is null then 0 else SoldeAvantTrimestre end as SoldeAvantTrimestre,
    case when Quittancement is null then 0 else Quittancement end as Quittancement,
    case when Encaissement is null then 0 else Encaissement end as Encaissement,
    case when SoldeADateArrete is null then 0 else SoldeADateArrete end as SoldeADateArrete
    from
    (
    select d01ste, g10mdg, d30nm1, g10ges
    from fbase1.g10mdg0
    inner join simco.bx_FGironDatArr DatArr
    on g10agd * 10000 + g10mgd * 100 + g10jgd <= DateArrete
    and ( g10agf = 0 or g10agf * 10000 + g10mgf * 100 + g10jgf >= DateArrete )
    ) mdg
    left outer join
    (
    select d01ste, g10mdg, d03trs,
    sum ( case when c04ade * 10000 + c04mde * 100 + c04jde < DebutPeriode then g30mon else 0 end ) * -1 as SoldeAvantTrimestre,
    sum (
    case when

    (
    ( select count ( * ) from simco.bx_ro where departement = 'VB' ) = 0
    and c04ade * 10000 + c04mde * 100 + c04jde >= DebutPeriode
    )
    or

    (
    ( select count ( * ) from simco.bx_ro where departement = 'VB' ) > 0
    and c04ade * 10000 + c04mde * 100 + c04jde between DebutPeriode and FinPeriode
    )
    then
    case when g30mon > 0 then g30mon else 0 end
    else 0
    end
    ) * -1 as Quittancement,
    sum (
    case when c04ade * 10000 + c04mde * 100 + c04jde >= DebutPeriode
    then
    case when g30mon > 0 then 0 else g30mon end
    else 0
    end
    ) * -1 as Encaissement,
    sum ( g30mon ) * -1 as SoldeADateArrete
    from agirab1.g30hlo0
    inner join simco.bx_FGironDatArr DatArr
    on c04ade * 10000 + c04mde * 100 + c04jde <= DateArrete
    group by d01ste, g10mdg, d03trs
    -- having sum ( g30mon ) <> 0
    ) hlo
    on mdg.d01ste = hlo.d01ste
    and mdg.g10mdg = hlo.g10mdg
    ) bai
    inner join simco.bx_FGironDatArr DatArr
    on DateArrete > 0
    left outer join
    (
    select d65rub, d65lib from fbase1.d65ftc0 where upper ( d64cod ) = 'GES'
    ) ftc
    on g10ges = d65rub
    left outer join agirab1.d01ste0 ste
    on bai.d01ste = ste.d01ste
    left outer join (
    select d01ste, regionoperationnelle from agirab1.d01ste0
    inner join simco.bx_ro
    on upper ( activite ) = 'GER'
    and upper ( departement ) = '1'
    and d01ste = societe


    union all

    select d01ste, RegionOperationnelle from agirab1.d01ste0
    inner join simco.bx_ro
    on upper ( activite ) = 'GER'
    and upper ( departement ) = '1'
    where d01ste not in ( select d01ste from agirab1.d01ste0 inner join simco.bx_ro on upper ( departement ) = '1' and d01ste = societe )
    and societe = ''
    ) ro
    on bai.d01ste = ro.d01ste
    order by bai.d01ste, g10mdg, d03trs
    ;
    -- FICHIER SYNTHESE


    delete from SIMCO.BX_GERAPRO ;
    insert into SIMCO.BX_GERAPRO
    select
    NomDepartement,
    sum ( SoldeAvantTrimestre ) as SoldeAvantTrimestre,
    sum ( Encaissement ) as Encaissement,
    case when sum ( Encaissement ) > 0 then
    case when sum ( SoldeAvantTrimestre ) >= 0 then 0 else
    case when sum ( Encaissement + SoldeAvantTrimestre ) <= 0 then sum ( Encaissement ) else sum ( SoldeAvantTrimestre ) * -1 end end
    else 0 end as EncaissementPourCompenserDebit,
    sum ( SoldeADateArrete ) as SoldeADateArrete,
    sum ( Quittancement ) as Quittancement,
    case when sum ( Encaissement ) = 0
    then 0
    else
    case when sum ( Quittancement ) = 0
    then 1
    else
    case when abs ( ( 1230.456789 + sum ( Encaissement ) - 1230.456789 ) / sum ( Quittancement ) ) > 1
    then abs ( ( 1230.456789 + sum ( Encaissement ) - 1230.456789 ) / sum ( Quittancement ) ) -- 1
    else abs ( ( 1230.456789 + sum ( Encaissement ) - 1230.456789 ) / sum ( Quittancement ) )
    end
    end
    end as TauxEncaissementInstantane,

    case when sum ( SoldeAvantTrimestre + Quittancement ) = 0
    then 1
    else
    case when abs ( ( 1230.456789 + sum ( Encaissement ) - 1230.456789 ) / sum ( SoldeAvantTrimestre + Quittancement ) ) > 1
    then abs ( ( 1230.456789 + sum ( Encaissement ) - 1230.456789 ) / sum ( SoldeAvantTrimestre + Quittancement ) )
    else abs ( ( 1230.456789 + sum ( Encaissement ) - 1230.456789 ) / sum ( SoldeAvantTrimestre + Quittancement ) )
    end
    end as TauxEncaissementCumule,

    DebutPeriode,
    DateArrete

    from simco.BX_GERAppe

    where
    not (
    ( departement = '5' and societe in ( '50' ) )
    or ( departement = 'R' and societe in ( '01' ) )
    or ( departement = 'VG' and societe in ( '02' , '05' , '06' ) )
    )

    group by NomDepartement, DebutPeriode, DateArrete

    order by NomDepartement;

    -- ) with no data
    select * from SIMCO.BX_GERAPRO;

  5. #5
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    il faut commencer par enlever les commentaires en "--" il n'est pas trop fan de ça.

    Ensuite en collant les requêtes dans un tSGBDInput est-ce que ça fonctionne ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 106
    Points : 54
    Points
    54
    Par défaut
    Ok, je vais enlever les commentaires,
    et pour le tsgbdinput, j'ai l'impression qu'un tdbinput exécute qu'une seule requete de type select from table, si le tdbinput execute tout mon sql je serais heureux.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/04/2007, 09h33
  2. Réponses: 26
    Dernier message: 23/06/2006, 15h45
  3. [VB6] Syntaxe des requetes SQL
    Par Djaiffe dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 09/06/2006, 09h19
  4. [VB6]exécution des requétes sql
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/06/2006, 07h24
  5. Recuperer les erreurs des requetes sql en asp
    Par emile13 dans le forum ASP
    Réponses: 3
    Dernier message: 01/04/2004, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo