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

Bases de données Delphi Discussion :

comment utiliser EXECUTE BLOCK avec zeos lib


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Par défaut comment utiliser EXECUTE BLOCK avec zeos lib
    bonsoir,
    j'essaye d'utiliser ce bloc dans Zquery mais il m'affiche l'erreur suivante: "dynamyque Sql error Sql error code =-104 token unknown......."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    EXECUTE BLOCK AS
    DECLARE colonne1 type1;
    DECLARE colonne2 type2;
    ...
    DECLARE colonneN typeN;
    BEGIN
       FOR EXECUTE STATEMENT 
          'SELECT colonne1, colonne2, ..., colonneN FROM ma_table'
          ON EXTERNAL DATA SOURCE 'localhost:ma_base_externe'
          AS USER 'utilisateur' PASSWORD 'mot_de_passe'
       INTO :colonne1, :colonne2, ..., :colonneN
       DO 
          INSERT INTO MA_Table_Destination(col1, col2, ..., colN)
             VALUES(:colonne1, : colonne2, :colonneN);
    END
    Merci pour votre aide
    Mina24

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    je ne l'aurais pas fait dans un ZQuery mais plutôt dans ZSQLProcessor
    en n'oubliant pas les SET TERM # ; au début
    EXECUTE BLOCK
    ...
    END #
    et SET TERM ; # à la fin

    [Edit] essayer aussi, toujours avec zsqlProcesssor mais en indiquant (dans les propriétés)
    • delimiter #
    • delimiterType dtDelimiter

    ce qui devrait éviter les SET TERM

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Par défaut
    Merci pour votre réponse!
    je viens d'essayer mais toujours la même chose!
    le message d'erreur c'est : token unknown TERM

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    voir mon [Edit]

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Par défaut
    voici ce que j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    SET TERM #;
    EXECUTE BLOCK AS
    DECLARE colonne1 type1;
    DECLARE colonne2 type2;
    ...
    DECLARE colonneN typeN;
    BEGIN
       FOR EXECUTE STATEMENT 
          'SELECT colonne1, colonne2, ..., colonneN FROM ma_table'
          ON EXTERNAL DATA SOURCE 'localhost:ma_base_externe'
          AS USER 'utilisateur' PASSWORD 'mot_de_passe'
       INTO :colonne1, :colonne2, ..., :colonneN
       DO 
          INSERT INTO MA_Table_Destination(col1, col2, ..., colN)
             VALUES(:colonne1, : colonne2, :colonneN);
    END#
    SET TERM ;#
    avec
    delimiter #
    delimiterType dtDelimiter
    mais toujours le même probleme !!!

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par mina24 Voir le message
    mais toujours le même probleme !!!
    par
    ce qui devrait éviter les SET TERM
    je voulais dire ce qui devrait éviter de mettre les SET TERM

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/09/2006, 17h41
  2. comment utiliser les API avec Perl?
    Par megapacman dans le forum Langage
    Réponses: 5
    Dernier message: 23/08/2006, 15h18
  3. Réponses: 1
    Dernier message: 04/05/2006, 10h45
  4. [CF][PPC/VB.NET] Comment utiliser les Socket avec Pocket PC ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 17/05/2005, 14h24

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