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

  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 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).

  6. #6
    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

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