Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2008
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2008
    Messages : 715
    Points : 796
    Points
    796

    Par défaut Systeme avec plusieurs dates

    Salut a tous,
    j´ai un petit souci, j´ai une application donc le serveur se trouve a anger, et les utilisateurs au mexique, il ya un logiciel qui compare le temps avec celui de sysdate avant de pouvoir faire une operaion, le probleme c´est que les 2 Fuseaux horaire sont different donc toute sorte de comparaison avec le temps actuel sera toujours faux.
    Ma question y at -il une solution a cela sans que le systeme d´exploitation en soit touché?
    car il travaille plus avec sysdate sous Oracle 11g.

    Merci

  2. #2
    Modérateur

    Homme Profil pro Fabien
    Ingénieur d'études en décisionnel
    Inscrit en
    septembre 2008
    Messages
    6 809
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en décisionnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 6 809
    Points : 13 464
    Points
    13 464

    Par défaut

    Il faut que vous jettiez un œil sur les concepts de globalization :
    http://docs.oracle.com/cd/B19306_01/...v.htm#i1007084

    Utilisez current_timestamp au lieu de sysdate, mais je ne sais pas l'impact que ça peut avoir sur votre application :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ALTER session SET time_zone = 'Europe/Paris';
    -- Session altered.
     
    SELECT current_timestamp FROM dual;
     
    11-DEC-12 06.11.16.110264000 PM EUROPE/PARIS
     
    ALTER session SET time_zone = 'Mexico/General';
    -- Session altered.
     
    SELECT current_timestamp FROM dual;
     
    11-DEC-12 11.11.16.110424000 AM MEXICO/GENERAL
    L'heure bouge mais comme la timezone figure dans la donnée on peut les comparer :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT case
             when TO_TIMESTAMP_TZ('2012-12-11 11:11:16 MEXICO/GENERAL', 'yyyy-mm-dd hh24:mi:ss TZR')
                = TO_TIMESTAMP_TZ('2012-12-11 18:11:16 EUROPE/PARIS'  , 'yyyy-mm-dd hh24:mi:ss TZR')
             then 1 else 0
           end AS tst
      FROM dual;
     
    TST
    ---
      1

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •