Passage à Mysql5 et format des TIMESTAMP

Suite a une migration vers Mysql5 et le driver jdbc 3.1.12, mes programmes qui fonctionnaient bien avant se sont mis à générer des exceptions pour le motif suivant :
java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00′ from column 11 to TIMESTAMP

Il semble donc que les dites versions, par rapport aux anciennes retournent un valeur “000-00-00 00:00:00” plutot que null lorsque l’on a cette valeur en base (ce qui soit dit en passant a peut être du sens) n’empeche que ca met bien la grouille… alors plutot que de se lancer dans une fastidieuse réécriture de code, il y a le paramètre miracle qui sauve la vie !!

Pour revenir au fonctionnement d’antant, il faut ajouter à la suite de la chaine de connexion l’option suivante:
jdbc:mysql://monHost/maBase?zeroDateTimeBehavior=convertToNull

Testé et approuvé !

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.