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

InterBase Discussion :

Message incohérent d'un prepare


Sujet :

InterBase

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Message incohérent d'un prepare
    Bonsoir

    A l'exécution d'un prépare, j'ai comme message de retour
    Dynamic SQL erreur -104 approximate floating point values in SQL dialect 1, but as 64 bits.
    J'ai vérifié :
    Que la requète ne contient pas de donnée numérique
    que la table ne comprend en donné numérique qu'un short int
    que le dialect de la base de donnée vérifié par IBPP est 3
    Qui peut me donner une explication du message? ce serait

  2. #2
    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
    que dit un gstat -h <basededonnees> ?
    quelle est la définition de la table ?
    quel code pour le prepare ?
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Renseignements demandés
    Bojour, et Merci de ta réponse
    Je ne sait pas lire gstat -h (est ce une commande isql ou doit on le mettre dans le code?
    La définition de la table est comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create table T_PARAGRAPH (
     nuIdPar SMALLINT not null,
     vcPar VARCHAR(2500) not null,
     vcLabel VARCHAR(64) not null, constraint T_PARAGRAPH_PK primary key (nuIdPar) );
     /* Ajouter les clés, les contraintes et les index restant pour la table T_SEG_NGRAM.          */
    /* create index T_PARAGRAPH_nuIdPar_idx on T_PARAGRAPH (nuIdPar);                              */
    /* Création des générateurs.                                                                   */
    CREATE GENERATOR GenIdPar;
    SET GENERATOR GenIdPar TO 0;
    et le code de la requète
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    if( m_pTSQLConnection != NULL)
        {
           if( m_pTSQLQuery != NULL)
           {
              if( m_pTSQLQuery->Started() == true)
              {
                  m_pTSQLQuery->Commit();
              }
           }
           m_pTSQLQuery = TransactionFactory( m_pTSQLConnection, amWrite, ilConsistency, lrWait, tfAutoCommit);
           m_pTSQLQuery->Start();
           // on démarre le statement
           m_pTSQLStatement = StatementFactory( m_pTSQLConnection, m_pTSQLQuery);
    //     [Affect "wsRequest" to "m_pTSQLQuery"]
    //     [Execute the request]
    //     [Open "m_pTSQLQuery"]
    //     [Verify that the request has returned a result]
    //     [Remove the query string from "m_pTSQLQuery"]
             try
             {
                char *s;
                *dwNbResultFound = 0;
                s = objStrConv.awcstombs( (wchar_t*)wsRequest.c_str());
                size_t len = strlen( s);
                m_pTSQLStatement->Prepare( s);
     
                objStrConv.StrFreeA( s);
                m_pTSQLStatement->Execute();
     
                while( (ErrorCode = m_pTSQLStatement->Fetch()) == true)
                {
     
                  *dwNbResultFound = *dwNbResultFound + 1;
                }
              }
              catch (EDatabaseError &exception)
              {
                ErrorCode  |= objStrConv.CreateReturnCode(TYPE_ERROR,MSG_CANT_EXECUTE_SELECT_REQUEST,MODULE_ID_DBMS_MANAGER,
                                 DBMS_CINTERBASE_MANAGER,EXECUTE_SELECT_REQUEST,
                                 ERROR_SELECT_REQUEST_EXECUTION );
              }
        }
        return(ErrorCode);
    J'ai aussi une question sur la stratégie Statement Transaction

  4. #4
    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
    il faudrait peut être que tu lise un peu de doc sur ton server sql avant de travailler avec

    gstat est un des utilitaires d'administration (http://www.firebirdsql.org/manual/gstat.html)

    et quand je demandais le code de la requete, c'est la SQL que je demandais

    quand à tes questions sur IBPP, elles auraient plus leur place sur une liste ou forum C++

    et même plus surement en contactant la liste d'IBPP
    cf http://www.ibpp.org/
    Where/How to get support?
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  5. #5
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Requete incriminée
    Bonjour

    Je suis sous interbase 6
    la requète est comme suit:
    SELECT nuIdPar FROM T_PARAGRAPH WHERE
    vcLabel = 'introduction' AND
    vcPar ='Summary:The decklid release feature releases / unlatches the decklid if the ignition switch is in run/start position and the vehicle speed is less than 7 km/h or the ignition switch is in off/acc position, and one of the following occurs Pressing the outer decklid release button if the car is driver door unlocked or centrally unlocked.Pressing the outer decklid release button (only cars with KVM; The PJB shall follow the CAN message KVM_Request).Pressing the outer decklid release button within “T_EnableDecklidRelease” seconds after the remote control decklid release button was pressed once, if the car is locked.Pressing the remote control decklid release button twice within 3 seconds (only cars with RC) [ if the car is not configured for decklid release with one RC button press (default)]Start the Roof opening sequence (S389 only), independent of ignition status and vehicle speed [if the car is configured as Cabrio (S389)]Note: In case of a CAN msg error of the vehicle speed signal it is possible to open the Decklid speed information independent.For the Cabrio the check of ignition status and vehicle speed will be done by the CRM module.' (1024 caractères)

  6. #6
    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
    Citation Envoyé par JeanNoel53 Voir le message
    Je suis sous interbase 6
    et alors ?
    gstat existe pour Interbase 6
    Interbase 6 (paix à son ame) a aussi une doc
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  7. #7
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut effet des DLL
    Il semble qu'on utilise un framework ou l'autre que la mise en DLL des logiciels d'accès à la base de donnée produise des effets de bords de type corruption des données avec différente manifestation incohérente. Il y a deux framework celui qui est livré avec bcb SqlExpr.hpp et ibpp. les deux souffrent de la même cause. il faut donc les utiliser avec l'application appelante.

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

Discussions similaires

  1. [PDO] message erreur avec 2 requetes prepare
    Par kate59 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 17/05/2012, 22h38
  2. Message d'erreur incohérent
    Par markfish55 dans le forum C++
    Réponses: 0
    Dernier message: 11/05/2008, 22h19
  3. Réponses: 3
    Dernier message: 23/05/2006, 15h09

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