Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1649 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête Firebird qui passe pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête Firebird qui passe pas

n°2105137
rufo
Pas me confondre avec Lycos!
Posté le 06-10-2011 à 17:22:11  profilanswer
 

Bonjour,  
 
J'ai une table TOTO avec, entre autre, 2 champs de type integer non null et la requête suivante qui passe pas :
UPDATE TOTO SET IDTiti = 23991058 WHERE IDTutu = 317606058
 
J'ai comme erreur :  
Engine Code    : 335544321
Engine Message :
arithmetic exception, numeric overflow, or string truncation
 
Pourtant, mes 2 nb semblent être dans la bonne page de valeur :??:
 
J'ai pas trouvé grand chose sur le web... Des idées?
 
Merci :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 06-10-2011 à 17:22:11  profilanswer
 

n°2105212
olivthill
Posté le 07-10-2011 à 11:57:36  profilanswer
 

C'est peut-être effectivement à cause d'un nombre trop grand.
 
Ou bien, c'est peut-être parce qu'il manque un espace quelque part, par exemple si la requête est en fait :
UPDATE TOTO SET IDTiti = 23991058WHERE IDTutu = 317606058
 
Ou bien s'il manque une fin de chaine, ou une autre erreur de syntaxe.
 
Il faut débugguer. Cela se fait en enlevant des choses jusqu'à ce que ça marche, puis en ajoutant des choses pour voir quelle est précisément la chose qui ne va pas. C'est le boulot habituel de l'informaticien.

n°2105230
rufo
Pas me confondre avec Lycos!
Posté le 07-10-2011 à 14:19:31  profilanswer
 

Ben, le plsu bizarre, c'est que cette requête est dans une boucle. Toutes les autres passent sauf celle-ci, donc je me dit que ça peut venir que des 2 ID. Sauf que si je fais un SELECT * FROM TOTO WHERE IDTutu = 317606058 ou SELECT * FROM TITI WHERE IDTiti = 23991058
 
ça marche, il me trouve la valeur (IDTiti est une clé étrangère dans TOTO et provient de la table TITI) à chaque fois :/
 
J'ai regardé du côté d'éventuels triggers qui pourraient mal réagir à la requête, mais pour l'instant, j'ai rien trouvé de probant...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105274
olivthill
Posté le 07-10-2011 à 17:03:09  profilanswer
 

Maintenant je me rappelle qu'un collègue avait eu ce genre de message quand il manquait une apostrophe ou un guillemet quelque part avant la ligne de l'erreur supposée. Mais ce n'est peut-être pas ça.

n°2105279
rufo
Pas me confondre avec Lycos!
Posté le 07-10-2011 à 17:23:21  profilanswer
 

Celle-là, je la connais effectivement mais c'est pas ça a priori, j'ai pas de chaînes, que des entiers dans ma requête. Si tu mets  champ ="Valeur" au lieu de champ ='valeur', Firebird râle.  
 
Rien à voir, mais pareil, si tu mets un having sans group by avant et si dans le group by, tu mets pas tous les champs du select, il râle aussi :/ Vraiment pointilleux ce sgbd!


Message édité par rufo le 07-10-2011 à 17:23:49

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête Firebird qui passe pas

 

Sujets relatifs
optimisation: affichage de photos : readdir ou requete sql ?Optimiser requête lourde (Copying to tmp table ?)
Changement de couleur d'un label : FF OK, IE passe pas. Pourquoi ?Requete qui fonctionne sous Phpmyadmin mais pas avec php
access requeteproblème pour trouver la bonne requête...
probleme de parametre avec requete préparéee dans une méthode MVCrequête sql multi tables
probleme requete sql jointure entre les tablesSortir les résultats d'une requête de sa boucle
Plus de sujets relatifs à : Requête Firebird qui passe pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR