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 :

[Imp] ORA-01401


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut [Imp] ORA-01401
    Bonjour les forumistes (Instance cible 9i sur Unix)!
    J'ai quelques questions à poser ...
    Lors d'un Import, j'ai des code retour ORA-01401 sur des liellés de tables !
    Cela semble tout à fait normal puisque la base cible est en NLS_CHARACTERSER = 'UTF8' et le dump a été créé depuis une base 'WE81508859P1' => OK

    Questions :
    1°) Suis-obligé de créer une nouvelle instance en WE81508859P1 afin que mon Import ne plante pas (Je ne dois pas toucher aux données, ni au DDL de mon dump, car il proviernt d'une a?
    2°) Puis-je effectuer l'Import avec l'option NLS_CHARACTERSET à WE81508859P1 ?
    3°) Quel est le moyen de le faire (Avez-vous un script unix à copier/coller) ?
    4°) Et surtout, est-ce conseillé, et ne vaut-il mieux pas recreer une instance cible qui va bien ?

    Merci pour vos réponses ...

  2. #2
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Je recommence car mon clavier à fourché !
    Bonjour les forumistes (Instance cible 9i sur Unix)!
    J'ai quelques questions à poser ...
    Lors d'un Import, j'ai des code retour ORA-01401 sur des liellés de tables !
    Cela semble tout à fait normal puisque la base cible est en NLS_CHARACTERSER = 'UTF8' et le dump a été créé depuis une base 'WE81508859P1' => OK

    Questions :
    1°) Suis-obligé de créer une nouvelle instance en WE81508859P1 afin que mon Import ne plante pas (Je ne dois pas toucher aux données, ni au DDL de mon dump, car il proviernt d'une application externe que l'on veut implanter sur notre site !) ?
    2°) Puis-je effectuer l'Import avec l'option NLS_CHARACTERSET à WE81508859P1 ?
    3°) Quel est le moyen de le faire (Avez-vous un script unix à copier/coller) ?
    4°) Et surtout, est-ce conseillé, et ne vaut-il mieux pas recreer une instance cible qui va bien ?

    Merci pour vos réponses ...

  3. #3
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Personne pour me répondre ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Quelle version Oracle (source et cible) ?
    Quel OS Oracle (source et cible) ?

    Valeurs éventuelles sur votre serveur de
    • NLS_LANG
    • ORA_NLS(10|32|33)
    • NLS_CHARACTERSETS
    • NLS_NCHAR_CHARACTERSET
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    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
    ORA-01401 inserted value too large for column

    Cause: The value entered is larger than the maximum width defined for the column.

    Action: Enter a value smaller than the column width or use the MODIFY option with ALTER TABLE to expand the column width.
    1°) Suis-obligé de créer une nouvelle instance en WE81508859P1 afin que mon Import ne plante pas (Je ne dois pas toucher aux données, ni au DDL de mon dump, car il proviernt d'une application externe que l'on veut implanter sur notre site !) ?
    Non, mais il faut peut-être revoir la taille des colonnes CHAR, VARCHAR2:
    avec UTF8 un caractère peut occuper plusieurs octets ce qui n'est pas le cas avec WE81508859P1. Par défaut votre import a sans doute créé des colonnes avec unité = byte (et non char).
    Quelle est la valeur du paramètre d'initialisation NLS_LENGTH_SEMANTIC ?

    Voir http://download-uk.oracle.com/docs/c...ch2.htm#104327
    2°) Puis-je effectuer l'Import avec l'option NLS_CHARACTERSET à WE81508859P1 ?
    Vous ne pouvez pas changer directement le jeu de caractères de la base à l'import. En fait l'import va faire la conversion en fonction de la valeur de NLS_LANG (variable d'environnement toujours définie en dehors d'Oracle) et le jeu de caractère de la base cible (l'export fonctionne aussi de façon similaire).
    En général vous devez pourvoir importer une base WE81508859P1 dans UTF8 car WE81508859P1 est un sous-ensemble de UTF8, point de vue du jeu de caractères.

    3°) Quel est le moyen de le faire (Avez-vous un script unix à copier/coller) ?
    Un script Unix, non mais un outil qui peut aider, oui: Oracle recommande d'utilise CSSCAN:

    The Character Set Scanner reads the character data and tests for the following conditions on each data cell:

    * Do character code points of the data cells change when converted to the new character set?
    * Can the data cells be successfully converted to the new character set?
    * Will the post-conversion data fit into the current column size?
    Voir http://download-uk.oracle.com/docs/c.../ch11.htm#1656

  6. #6
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Merci Pifor pour vos explications toujours très utiles..
    Je vais maintenant essayer de comprendre tout ça !

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2011, 17h15
  2. ORA-01401 : inserted value too large for column
    Par Mattgic dans le forum Oracle
    Réponses: 5
    Dernier message: 25/05/2010, 10h18
  3. ORA- 01401 Debug
    Par stongolm dans le forum Oracle
    Réponses: 12
    Dernier message: 14/03/2007, 11h24
  4. [Sql] Insert et ORA-01401
    Par madina dans le forum Oracle
    Réponses: 7
    Dernier message: 03/08/2006, 20h33
  5. [imp] ORA-00001 lors d'import de séquences
    Par exempleinfo dans le forum Oracle
    Réponses: 1
    Dernier message: 17/02/2006, 11h41

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