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 :

Talend Open Studio extraire donnees d'Oracle avec une requete sql commencant par with


Sujet :

Développement de jobs

  1. #1
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut Talend Open Studio extraire donnees d'Oracle avec une requete sql commencant par with
    Bonjour.

    J'ai une requete du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    WITH my_datas AS
      (SELECT *
    from matable)
    select *
    from my_datas
    join......
    Dans mon job Talend, j'ai insere cette requete dans un objet tOracleInput. A droite, j'ai un objet tMysqlOutput afin de recevoir les donnees dans une table Mysql.

    Lorsque j'execute le job, Talend tombe en erreur du cote du tOracleInput avec :

    Exception in component tOracleInput_1
    java.sql.SQLException: ORA-00911: caractère non valide

    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:850)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2599)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2963)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:653)
    at extractions.extracts_fa_0_1.Extracts_FA.tOracleInput_1Process(Extracts_FA.java:1086)
    at extractions.extracts_fa_0_1.Extracts_FA.runJobInTOS(Extracts_FA.java:2267)
    at extractions.extracts_fa_0_1.Extracts_FA.main(Extracts_FA.java:2094)
    Pour information, lorsque j'execute cette requete dans Toad, Toad plante aussi avec l'erreur :

    ORA-24374: define not done before fetch or execute and fetch
    Cette requete fonctionne sans probleme dans un outil d'extraction de donnees utilise par les DBA sauf erreur de ma part, je ne me souviens plus son nom.

    La requete est donc correcte.

    Savez-vous s'il est possible, dans TOS, d'utiliser de telles requetes SQL pour extraire les donnees d'une base de donnees ? Si oui, comment ?

    Merci,
    Cdlt

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,

    Je ne pense pas que l'erreur vienne du fait qu'il s'agisse d'une requête CTE (Common Table Expression) introduite par le norme SQL99, mais plutôt de l'erreur triviale que l'on commet en JAVA, c.a.d. que vous avez du ajouter à la fin de votre requête le fameux symbole de ponctuation ";".
    Or, il est syntaxiquement inutile pour ne pas dire invalide dans ce cas...

    Vérifiez donc la syntaxe de la requête requête que vous avez écrite dans le composant tOracleInput
    Philippe.

  3. #3
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut
    Bonjour.

    J'ai supprime le ; en fin de requete et ca fonctionne.

    Merci pour cette reponse.

    Cdlt,
    Jean

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Somme avec une requete sql
    Par virtuose dans le forum Langage SQL
    Réponses: 8
    Dernier message: 26/01/2006, 16h32
  2. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39
  3. [C#] Erreur Oracle avec une requete paramétrée
    Par gael.mases dans le forum C#
    Réponses: 1
    Dernier message: 02/12/2005, 10h39
  4. [VB.NET] Remplir une ComboBox avec une requete sql
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/03/2005, 15h29
  5. [ORACLE][SQL] procedure sous delphi avec une requete SQL
    Par nivet dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/11/2004, 13h43

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