IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Problème de globalisation


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Par défaut Problème de globalisation
    Voici le problème que j'ai,

    Une unité de traitement effectue une requête dans une base de donnée métric. L'unité de traitement est sur un serveur anglais. Donc mon traitement en lot prend par exemple un 7,80 dans la première base de donnée et le transfère dans une autre base de donnée qui interprète la valeur reçu comme 780 au lieu de 7,80.

    C'est donc mon unité de traitement en .NET qui interprète mal la valeur après tout c'est pas sa faute il est anglais

    Quelqu'un peut me donner une piste de solution à ce problème ??

    Merci!

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Pas sûr que c'est un problème de globalisation (si c'était 7.80 oui mais ce n'est pas le cas ...)

    Vérifiez la valeur NLS_LANG utilisée par les 2 clients des bases de données, voir http://fadace.developpez.com/oracle/nls/

    Essayez de tracer l'ordre SQL qui écrit la donnée.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    deaven,

    Du moment que vous manipulez les nombres en tant que tel, en mappant bien NUMBER Oracle avec un Entier ou un Réel en .NET il ne peut pas y avoir de problème de "globalisation" (c'est bien français ??? ). Les problèmes de conversion entre nombres ne pourraient apparaitre que si vous passiez par un intermédiaire en chaine de caractères avant de le reconvertir en nombre, car là vous pourriez passer de 7.8 en nombre binaire à "7,8" ou "7.8" en chaine de caractères et, si les NLS_LANG sur les 2 clients ne sont pas cohérents, avoir des conversions erronées. Gardez-vous bien les nombres en tant que tel tout le long de la chaine ?

    Petite apartée : le problème est identique avec les Dates ou Timestamps mais il se pose encore plus car il est très fréquent de transporter des dates en chaines... De façon générale, toute conversion doit être EXPLICITE pour éviter les problèmes liés à des formats par défaut spécifiés par NLS. Les conversions implicites sont des nids à bugs (sans mauvais jeu de mots ). Je ne me sert de NLS_LANG que pour le jeu de caractères (et accessoirement pour les messages d'erreur).

    Cordialement,

    rbaraer

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo