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

Import/Export Oracle Discussion :

Problème d'export/import sur un number(3,2)


Sujet :

Import/Export Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Points : 16
    Points
    16
    Par défaut [RESOLU] Problème d'export/import sur un number(3,2)
    Bonjour,

    J'ai modifié un export/import existant d'un schéma vers un autre schéma qui utilise un script pour générer automatiquement pour ma table, le fichier sql ( de transfert) , le fichier ctl ( pour la remontée par sqlldr)

    J'ai un problème avec une colonne en NUMBER(3,2)

    Dans le fichier sql qui sert pour l'export , j'ai la définition de la colonne comme suit :
    COLUMN "TOTO" FORMAT 0,99 HEADING 'X'

    la valeur d'un nombre de la colonne TOTO est par exemple 1,00 à l'origine.
    Dans le fichier généré , j'ai la valeur 0,01 mis au lieu de 1,00.

    Au départ il y avait
    COLUMN "TOTO" FORMAT 0.99 HEADING 'X'

    Dans ce cas la valeur dans le fichier généré était correct 1.00.
    Par contre lors de l'import, le format number n'était pas compris.
    J'ai donc remplacé le point par la virgule et cela fonctionne plus d'erreur lors de l'import.

    Par contre maintenant donc je n'ai plus les bonnes valeurs pour cette colonne.

    Je ne comprends pas comment faire pour integrer les bonnes valeurs.

    le fichier CTL pour la colonne toto est :
    "TOTO" DECIMAL EXTERNAL(5) NULLIF ("TOTO" = BLANKS)

    j'avoue aussi que le script de generation automatique des fichiers sql et ctl n'est pas très compréhensible à mon niveau.

    Merci de votre aide

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Bon en cherchant de tous les côtés, j'ai trouvé des trucs.

    alors l'echange se fait sur deux machines différentes

    sur l'un des schéma , c'est le point pour les décimales.
    sur l'autre schéma, c'est la virgule pour les décimales.

    attention il faut regarder par sqlplus sur le serveur et non passé par le client via toad pour faire les requetes :

    SELECT to_number('1.2') FROM dual;
    SELECT to_number('1,2') FROM dual;

    pour savoir si c'est le point ou la virgule.

    alors j'ai gardé le point pour l'export dans mon fichier sql

    par contre de l'autre côté, j'ai modifié la variable
    export NLS_NUMERIC_CHARACTERS=". "
    avant de lancer le sqlldr

    Cela marche ( enfin sur un petit test)

    Par contre , je ne comprends pas pourquoi en mettant la , au lieu de . dans le fichier sql au niveau de la ligne
    COLUMN "TOTO" FORMAT 0,99 HEADING 'X'
    cela change mes valeurs dans le fichier généré ?

Discussions similaires

  1. [10g] Problème d'export import
    Par Invité dans le forum Débuter
    Réponses: 6
    Dernier message: 18/04/2013, 10h42
  2. Problème d'export/import de DLL
    Par sye-laptop dans le forum C++
    Réponses: 1
    Dernier message: 27/03/2011, 03h19
  3. Réponses: 3
    Dernier message: 20/10/2010, 11h08
  4. [DB2] Export/Import sur plateforme différente
    Par marsup54 dans le forum DB2
    Réponses: 2
    Dernier message: 26/08/2009, 11h36
  5. Réponses: 7
    Dernier message: 31/03/2008, 14h31

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