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

SQL Firebird Discussion :

expression evaluation not supported.


Sujet :

SQL Firebird

  1. #1
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut expression evaluation not supported.
    Bonjour,

    J'ai la requête suivante que j'ai prise depuis le livre SQL de Fredéric Brouard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT (cast(E4.ent_chiffre*10000 as integer)) +(cast(E3.ent_chiffre*100 as integer)) +(cast(E2.ent_chiffre*10 as integer)) + (cast(E1.ent_chiffre*1 as integer)) +1 AS TROU
    FROM   t_entier E4,t_entier E3,t_entier E2, T_ENTIER E1 where ((cast(E4.ent_chiffre*10000 as integer)) +(cast(E3.ent_chiffre*100 as integer)) +(cast(E2.ent_chiffre*10 as integer)) + (cast(E1.ent_chiffre*1 as integer)) +1)
     NOT IN ( SELECT ENT_CHIFFRE FROM t_entier)
     GROUP BY E4.ent_chiffre, e3.ent_chiffre, e2.ent_chiffre, e1.ent_chiffre
     having (cast(E4.ent_chiffre*10000 as integer)) +(cast(E3.ent_chiffre*100 as integer)) +(cast(E2.ent_chiffre*10 as integer)) + (cast(E1.ent_chiffre*1 as integer)) +1 <30000
    ORDER BY TROU
    J'ai juste rajouter le cast puisque le champ est en varchar. Cette requete permet de chercher des trous dans un champ d'une table. Ce matin ça a fonctionner sous IBEXPERT et maintenant ca ne fonctionne plus et j'obtiens le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Unsuccessful execution caused by a system error that precludes
    successful execution of subsequent statements.
    Dynamic SQL Error.
    expression evaluation not supported.
    Si quelqu'un à une idée ?

    Merci
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  2. #2
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Bonjour,

    J'ai mis déléstage a ce post parce que ca a marcher sur une machine et voilà que ca ne marche pas sur une autre sous IBEXPERT donc j'enleve le déléstage puisque mon problème persiste..... je me demande si le nombre de cast n'est pas admis dans la requete ?
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Citation Envoyé par freud Voir le message
    [...] ca a marcher sur une machine et voilà que ca ne marche pas sur une autre [...]
    Est-tu sûr que tu sollicites les mêmes versions de Firebird sur ces 2 machines ? Un DLL client qui ne serait pas à jour ?

    @+

  4. #4
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    normalement oui... j'utilise la Firebird-2.1.1.17910-0_Win32.exe.
    mais je verifierais quand même sur l'autre machine qui n'est pas ici
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  5. #5
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    sur l'autre machine c'est la même version et curieusement ca ne marche plus sur celle-ci......
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    sûr de tes données ?
    un petit nul qui traine pourrait bien provoquer une grosse catastrophe
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Citation Envoyé par SergioMaster
    sûr de tes données ?
    un petit nul qui traine pourrait bien provoquer une grosse catastrophe
    Oui sûr, parce que la table ne contient qu'un champ varchar avec dix enregistrement seulement voici le DDL :
    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
     
    CREATE TABLE T_ENTIER (
        ENT_CHIFFRE  VARCHAR(15)
    );
     
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('0');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('80');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('2');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('3');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('4');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('5');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('6');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('7');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('8');
    INSERT INTO T_ENTIER (ENT_CHIFFRE) VALUES ('9');
    et la requête ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT (cast(E4.ent_chiffre*10000 AS integer)) +(cast(E3.ent_chiffre*100 AS integer)) +(cast(E2.ent_chiffre*10 AS integer)) + (cast(E1.ent_chiffre*1 AS integer)) +1 AS TROU
    FROM   t_entier E4,t_entier E3,t_entier E2, T_ENTIER E1 WHERE ((cast(E4.ent_chiffre*10000 AS integer)) +(cast(E3.ent_chiffre*100 AS integer)) +(cast(E2.ent_chiffre*10 AS integer)) + (cast(E1.ent_chiffre*1 AS integer)) +1)
     NOT IN ( SELECT ENT_CHIFFRE FROM t_entier)
     GROUP BY E4.ent_chiffre, e3.ent_chiffre, e2.ent_chiffre, e1.ent_chiffre
     HAVING (cast(E4.ent_chiffre*10000 AS integer)) +(cast(E3.ent_chiffre*100 AS integer)) +(cast(E2.ent_chiffre*10 AS integer)) + (cast(E1.ent_chiffre*1 AS integer)) +1 <30000
    ORDER BY TROU
    C'est juste une table test pourtant ca a marcher une fois et meme plus.
    Et si je change de type varchar en integer et en supprimant les cast dans la requête ca marche correctement.
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  8. #8
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT (cast(E4.ent_chiffre AS integer)*10000) +(cast(E3.ent_chiffre AS integer)*100) +(cast(E2.ent_chiffre AS integer)*10) + (cast(E1.ent_chiffre AS integer)*1) +1 AS TROU
    FROM   t_entier E4,t_entier E3,t_entier E2, T_ENTIER E1 WHERE ((cast(E4.ent_chiffre AS integer)*10000) +(cast(E3.ent_chiffre AS integer)*100) +(cast(E2.ent_chiffre AS integer)*10) + (cast(E1.ent_chiffre AS integer)*1) +1)
     NOT IN ( SELECT ENT_CHIFFRE FROM t_entier)
     GROUP BY E4.ent_chiffre, e3.ent_chiffre, e2.ent_chiffre, e1.ent_chiffre
     HAVING (cast(E4.ent_chiffre AS integer)*10000) +(cast(E3.ent_chiffre AS integer)*100) +(cast(E2.ent_chiffre AS integer)*10) + (cast(E1.ent_chiffre AS integer)*1) +1 <30000
    ORDER BY TROU
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  9. #9
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    c'est bête..... il ne fallait caster que les champs

    Merci à vous Makowski
    SergioMaster et Cl@udius aussi...
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/11/2011, 12h57
  2. decoding Unicode is not supported
    Par naiadeKaren dans le forum Général Python
    Réponses: 6
    Dernier message: 20/07/2011, 06h47
  3. socket: Address family not supported by protocol ??
    Par innosang dans le forum Réseau
    Réponses: 5
    Dernier message: 21/12/2005, 11h32
  4. Access 2003 - Unsafe expression are not blocked
    Par JF.Stachera dans le forum Access
    Réponses: 2
    Dernier message: 26/09/2005, 10h34
  5. Fatal Error : OpenGL GLX extension not support
    Par kacedda dans le forum GLUT
    Réponses: 5
    Dernier message: 06/06/2005, 10h28

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