J'ai un serveur tomcat5 qui se connecte à une base de données Oracle et je souhaite spécifier le fuseau horaire de la session Oracle. J'ai réussi à définir en ajoutant JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Europe/Zurich"
au fichier de configuration tomcat5.conf
. Le problème est quand j'interroge dans Oracle SELECT SESSIONTIMEZONE FROM dual;
Je reçois +02:00
Comment définir la zone de fuseau horaire Oracle dans tomcat
Actuellement ceci est CORRECT, cependant cela deviendra faux en hiver quand l'heure d'été est éteinte - sauf si je redémarre le serveur Tomcat.
Comment est-ce que je peux placer le fuseau horaire au nom de région (par exemple Europe/Zurich
) au lieu du décalage UTC (comme +02:00
)? Je voudrais éviter d'exécuter explicitement ALTER SESSION SET TIME_ZONE = ...;
dans mon Oracle.
Est-il possible que vous ayez un déclencheur de connexion à la base de données qui définit explicitement le fuseau horaire de la session sur +02: 00? Ou - peut-être plus probablement - quelque chose d'autre dans la configuration perd ou remplace ce paramètre? Quel fuseau horaire de session voyez-vous si vous vous connectez au même DB et compte via SQL \ * Plus? –
La même que celle définie par la variable d'environnement (ou les paramètres du registre) 'ORA_SDTZ' - comme prévu. –
Logon trigger serait une solution, mais dans ce cas, je resterais sur 'ALTER SESSION SET TIME_ZONE = ...; 'dans mon code PL/SQL. Mis à part que je n'ai pas les autorisations pour créer des déclencheurs de base de données sur cette base de données. –