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 :

Erreur lors d'un import Oracle


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut Erreur lors d'un import Oracle
    Lorsque j'effectue un import d'un dump Oracle provenant d'une autre machine, j'ai le message d'erreur:

    import effectué dans le jeu de caractères WE8ISO8859P1 et le jeu NCHAR WE8ISO8859P1
    IMP-00069: Conversion impossible dans le descripteur du jeu de caractères national de l'environnement
    IMP-00000: Procédure d'import terminée avec erreur
    C'est une version 8 d'Oracle des 2 cotés.

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    C'est un problème de jeu de caractères, d'encodage interne entre la base source, la destination et/ou les conversions effectuées par les couches clientes.

    Sur chacune des deux bases il faudrait nous donner le résultat de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from nls_database_parameters;
    et afin de vois la façon dont l'environnement est positionné, la variable système NLS_LANG (%NLS_LANG sous Win, $NLS_LANG sous Nux) (si elle l'est) ainsi que le résultat du select suivant dans une session sqlplus en mode console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from nls_session_parameters;
    Au final, vous avez donc 2x 3 éléments à collecter ! :-)

    PS : Pour les citations/code, merci d'utiliser les balises prévues à cet effet plutôt que les couleurs ! ;-)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Merci pour ces indications. Pour les requêtes SQL, pas de pb, mais par quelle commande consulter la variable système NLS_LANG :

  4. #4
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    lire ce que LeoAnderson te demande et donne lui le resultats des requêttes

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut Réponse aux requêtes
    Pour la base source, voici le résultat obtenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    SQL> select * from nls_database_parameters;
     
    PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_LANGUAGE                   FRENCH
    NLS_TERRITORY                  FRANCE
    NLS_CURRENCY                   F
    NLS_ISO_CURRENCY               FRANCE
    NLS_NUMERIC_CHARACTERS         ,.
    NLS_CHARACTERSET               WE8ISO8859P1
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD/MM/YY
    NLS_DATE_LANGUAGE              FRENCH
    NLS_SORT                       FRENCH
    NLS_TIME_FORMAT                HH24:MI:SSXFF
     
    PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_TIMESTAMP_FORMAT           DD/MM/YY HH24:MI:SSXFF
    NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT        DD/MM/YY HH24:MI:SSXFF TZH:TZM
    NLS_DUAL_CURRENCY              ?
    NLS_COMP
    NLS_NCHAR_CHARACTERSET         WE8ISO8859P1
    NLS_DUAL_CURRENCY              ?
    NLS_RDBMS_VERSION              8.1.7.2.0
     
    19 ligne(s) sélectionnée(s).
     
    SQL> select * from nls_session_parameters;
     
    PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_LANGUAGE                   FRENCH
    NLS_TERRITORY                  FRANCE
    NLS_CURRENCY                   ¿
    NLS_ISO_CURRENCY               FRANCE
    NLS_NUMERIC_CHARACTERS         ,.
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD/MM/RR
    NLS_DATE_LANGUAGE              FRENCH
    NLS_SORT                       FRENCH
    NLS_TIME_FORMAT                HH24:MI:SSXFF
    NLS_TIMESTAMP_FORMAT           DD/MM/RR HH24:MI:SSXFF
     
    PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT        DD/MM/RR HH24:MI:SSXFF TZH:TZM
    NLS_DUAL_CURRENCY              ¿
    NLS_COMP                       BINARY
     
    15 ligne(s) sélectionnée(s).
     
     
    NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1
    et sur celle de destination:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    SQL> select * from nls_database_parameters;
     
    PARAMETER                      VALUE
    ------------------------------ ------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               WE8ISO8859P1
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-YY
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT           DD-MON-YY HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-YY HH.MI.SSXFF AM TZH:T
    NLS_DUAL_CURRENCY              $
    NLS_COMP
    NLS_NCHAR_CHARACTERSET         WE8ISO8859P1
    NLS_RDBMS_VERSION              8.1.5.0.0
     
    18 ligne(s) sélectionnée(s).
     
    SQL> select * from nls_session_parameters;
     
    PARAMETER                      VALUE
    ------------------------------ ------------------------------
    NLS_LANGUAGE                   FRENCH
    NLS_TERRITORY                  FRANCE
    NLS_CURRENCY                   F
    NLS_ISO_CURRENCY               FRANCE
    NLS_NUMERIC_CHARACTERS         ,.
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD/MM/YY
    NLS_DATE_LANGUAGE              FRENCH
    NLS_SORT                       FRENCH
    NLS_TIME_FORMAT                HH24:MI:SSXFF
    NLS_TIMESTAMP_FORMAT           DD/MM/YY HH24:MI:SSXFF
    NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT        DD/MM/YY HH24:MI:SSXFF TZH:TZM
    NLS_DUAL_CURRENCY              ?
    NLS_COMP
     
    15 ligne(s) sélectionnée(s).
     
     
    NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1
    Merci par avance

  6. #6
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    La base destination est-elle "toute neuve" ? avez-vous déjà réussi à y importer quelque chose ?

    Pourquoi le jeu de carctère national est-il WE8ISO... et non un unicode ?

    Comment la base a-t-elle été créée ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    La base destination a été créée avec le CD d'install d'Oracle 8 sur un PC sous XP, avec les valeurs par défaut. Je n'ai pas vu passer le paramètre relatif au jeu de caractère.

    Je n'ai pas encore eu à faire d'import.

  8. #8
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    D'après ce que vous nous avez donné, les bases sources et destination ont les même jeux de caractères . Si NLS_LANG est également positionné comme indiqué pendant les phases d'export/import, il ne devrait pas y avoir d'erreur car Oracle ne devrait même pas faire de conversion...

    Je remarque par contre que vous essayez d'importer une base 8.1.7.2
    dans une base 8.1.5.0 et que ceci n'est pas recommendé: quand on importe une base dans une autre, il faut que la version de la base destination soit supérieure à celle de la base source.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Je pensais que 8.1.7 vers 8.1.5 ça pouvait aller.

    Y-a-t-il une solution du côté de l'export (paramètre permettant de spécifier une version plus basse) ?

    Ou bien y-a-t-il une autre solution que l'export-import pour transférer les données d'une base à une autre sans soucis de compatibilité ?

  10. #10
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Vous pouvez essayer d'utiliser l'exécutable exp de la plus basse version pour faire l'export (8.1.5) et faites l'import avec l'exécutable imp de la plus basse version également (8.1.5). Peut-être que ça va marcher :

    Mais il serait plus sûr d'avoir la même version Oracle sur les 2 bases, et même de passer en Oracle 9 ...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Désolé d'avoir tardé à répondre. Je pense que votre explication est la bonne.

    Merci de votre aide.

  12. #12
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par pifor
    Vous pouvez essayer d'utiliser l'exécutable exp de la plus basse version pour faire l'export (8.1.5) et faites l'import avec l'exécutable imp de la plus basse version également (8.1.5). Peut-être que ça va marcher :

    Mais il serait plus sûr d'avoir la même version Oracle sur les 2 bases, et même de passer en Oracle 9 ...
    Voir 10.2... ;-)

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/05/2010, 21h57
  2. [XSD] Message d'erreur lors de l'import d'un XML
    Par phoenixz22 dans le forum Valider
    Réponses: 1
    Dernier message: 04/10/2007, 09h08
  3. Erreur lors de l'Installation Oracle 10G sur linux X86
    Par yarold dans le forum Installation
    Réponses: 1
    Dernier message: 01/08/2007, 11h57
  4. Erreur lors d'une importation!
    Par mathumitha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/02/2007, 19h15
  5. Erreur lors d'un import...
    Par gondek dans le forum Oracle
    Réponses: 17
    Dernier message: 14/02/2005, 13h23

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