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

Firebird Discussion :

EIBInterBaseError avec le message 'arithmetic exception, numeric overflow, or string


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut EIBInterBaseError avec le message 'arithmetic exception, numeric overflow, or string
    Bonjour,

    Qu'est-ce qui déclanche cette erreur ?

  2. #2
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 47
    Par défaut
    c'est souvent le fait de vouloir mettre plus de caractères que ton champs accepte.

    Par exemple, vouloir mettre 4 caractère dans un varchar(3)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut Je n'ai pas de champ VARCHAR
    Voici le source de création de la table incriminée :
    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
     
    /* Domain definitions */
    CREATE DOMAIN "DBBLOB" AS BLOB SUB_TYPE 0 SEGMENT SIZE 80;
     
    /* Table: CONTROL, Owner: SYSDBA */
     
    CREATE TABLE "CONTROL" 
    (
      "CONTROL_NO"	INTEGER NOT NULL,
      "CONTROL_NOMINAL"	INTEGER NOT NULL,
      "CONTROL_PRODUCT"	INTEGER NOT NULL,
      "CONTROL_IMGCONTROL"	INTEGER NOT NULL,
      "CONTROL_BATCH"	INTEGER NOT NULL,
      "CONTROL_COLOR"	INTEGER NOT NULL,
      "CONTROL_CREATED"	TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
      "CONTROL_DE"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DE94"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DECMC"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DE2K"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DL"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DC"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DHDEG"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_DHSTAR"	NUMERIC(5, 2) NOT NULL,
      "CONTROL_MASK"	"DBBLOB",
      "CONTROL_RESULT"	BOOLEAN NOT NULL,
      "CONTROL_USED"	BOOLEAN DEFAULT TRUE,
    CONSTRAINT "PK_CONTROL" PRIMARY KEY ("CONTROL_NO")
    );
    Le Blob n'est pas enregistré dans la version qui génère l'erreur !
    Ce qui resemmble à un VARCHAR(XX) c'est le NUMERIC(5,2), mais je ne formate pas le numeric dans la sauvegarde. Un nombre réel négatif peut-il être à l'origine de l'erreur ?
    Par quoi puis-je remplacer la déclaration NUMERIC(5,2) ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut pour info
    J'ai changé la déclaration NUMERIC(5,2) par NUMERIC dans tous les champs concernés et j'ai toujours la même erreur

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut Problème identifié mais non résolu
    Comme je le présentais, ce sont bien les réels <0 qui sont à l'origine de l'erreur

    J'ai supprimé tous les champs de type NUMERIC qui pouvaient recevoir des valeurs négatives en conservant ceux qui ne peuvent recevoir que des valeurs >0 et je n'ai plus l'erreur !

    Le prblème devient :

    1- Comment déclarer un champ de type NUMERIC qui peut recevoir des valeurs négatives, sans générer cette erreur
    2 - Comment paramétrer IB pour que les champs déclarés NUMERIC peuvent recvoir des valeurs négatives

  6. #6
    Membre très actif Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Par défaut
    Citation Envoyé par colorid Voir le message
    Le Blob n'est pas enregistré dans la version qui génère l'erreur !
    Ce qui resemmble à un VARCHAR(XX) c'est le NUMERIC(5,2), mais je ne formate pas le numeric dans la sauvegarde. Un nombre réel négatif peut-il être à l'origine de l'erreur ?
    Par quoi puis-je remplacer la déclaration NUMERIC(5,2) ?
    Tout simplement par un NUMERIC(18,2).

Discussions similaires

  1. exception EconvertError avec le message("n'est pas une valeur correct)
    Par menoulette dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/09/2013, 22h55
  2. Réponses: 2
    Dernier message: 04/06/2009, 19h56
  3. arithmetic exception,numeric overflow ..
    Par makaphrodite dans le forum InterBase
    Réponses: 1
    Dernier message: 06/12/2008, 20h06
  4. Réponses: 5
    Dernier message: 14/09/2007, 22h50
  5. TRIGGERS - String truncation ou numeric overflow
    Par AlBoLeToNo dans le forum InterBase
    Réponses: 5
    Dernier message: 21/09/2004, 12h58

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