Bonjour,
J'ai migré la BDD d'une application de la version 8i vers 10GR1.
Cette application est codée en C et possède pas mal de fichiers pro*C.
J'ai un pb de comparaison de date avec des chaines de caractères. Dans la version 8i les champs date de la base étaient directement comparés avec des chaine de caractères qui respectaient le format du paramètre NLS_DATE_FORMAT DD/MM/YYYY HH24:MI dans mon cas.
Cela marchait très bien dans la version 8i.
Bien évidement dans la nouvelle base en 10GR1 le paramètre NLS_DATE_FORMAT a été initialisé avec l'ancien format.
Les requête codée en PRO*C ne fonctionnent plus et j'obtiens une erreur mauvais format de date (mois incorrect). La base se comporte comme si le format par défaut dans ce cas là était un autre format (DD-MON-YY après investigation). Par contre si sous sql*plus je fais une interrogation retournant une date le format par défaut est bien celui du NLS_DATE_FORMAT
Pour l'instant ma seule réponse est de généraliser l'emploi de fonction to_date et to_char en précisant le format 'DD/MM/YYYY HH24:MI' dans ces requêtes.
Avez vous rencontré ce PB ?
Y a t'il une autre méthode de correction en modifiant les options de compilation ou en initialisant un autre paramètre de la BDD ?
Cordialement
Olivier
Partager