bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 2009
-
8 mars 2008 à 21:42
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 2009
-
8 mars 2008 à 23:02
Il semblerait que SQL Server CE soit bien peu resistant aux requetes à base de sommes de numeric et de group by. Ma query passe sur 200 lignes mais j'obtiens un overflow avec 400 "Expression evaluation caused an overflow."
J'ai trouvé sur les forums MS une personne avec le meme probleme mais sans solution. SQL server CE serait donc si nul que cela? Comment faire?
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 8 mars 2008 à 23:02
La requete fait intervernir 400 lignes.
C'est:
SELECT hp.hp_hand_value, COUNT(*) AS c, SUM(hp.hp_moneywon) AS s, AVG(hp.hp_moneywon/hand_stakes_bb) AS sprop
FROM hands h, hand_players hp, players pl WHERE hp.hp_hand_value > 0 AND h.hand_id=hp.hand_id AND pl.player_id=hp.player_id AND pl.player_name='xxxx'
GROUP BY hp.hp_hand_value
ORDER BY hp.hp_hand_value DESC
A noter que l'erreur n'arrive qu'avec le SUM. Si on l'enlève, tout fonctionne. moneywon est un numeric 18,2.
J'ai fais des recherches sur le net et je suis tombé sur un gars qui avait le meme probleme et qui a fait
CONVERT(NUMERIC(18,2),SUM(colonne_type_numeric)), ca résoud le probleme. Ca a tout l'air d'être un bug ou une limitation de Server CE, mais ca ne me rassure pas trop pour la suite du développement de mon logiciel. Certaines tables devront supporter entre 800 et 1 millions de lignes.