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

SQL Oracle Discussion :

[SQL*LOADER]Problème lors de retour de chariot


Sujet :

SQL Oracle

  1. #1
    DEC
    DEC est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2004
    Messages : 65
    Points : 49
    Points
    49
    Par défaut [SQL*LOADER]Problème lors de retour de chariot
    Bonjour à tous,

    J'ai un petit problème lorsque j'essaie de faire un load sur un champ qui comporte des "enter" ou si vous préférez, "\n".

    J'ai essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    load data 
    infile 'desc.txt' 
    badfile 'desc.bad'
    discardfile 'desc.dsc'
    replace
    into table CNV_DESC
    (PAGE_APP	CHAR TERMINATED BY '|'
     NULLIF PAGE_APP=BLANKS,
     LIBELLE        char terminated by '|',
     DESC_FR	CHAR TERMINATED BY '|')
    Mais ça utilise le retour de chariot comme un terminated by, ce qui cause des erreurs.

    Ensuite j'ai essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    load data 
    infile 'desc.txt' "str '|\n'"
    badfile 'desc.bad'
    discardfile 'desc.dsc'
    replace
    into table CNV_DESC
    fields terminated by '|' optionally enclosed by '"'
    (PAGE_APP	CHAR,
     LIBELLE        char,
     DESC_FR	CHAR)
    Qui là fonctionne, mais seulement pour une ligne et je ne peux pas trouver de façon pour aller chercher le reste à loader........

    Est-ce qu'il y aurait quelqu'un qui aurait une idée!!??!!?? Je suis un peux désespérée...

    Merci à l'avance!!
    DEC

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Si tu as la posssibilité de modifié le retour chariot par un autre caractère (spécial) dans ton fichier , cela peut etre interessant .

    Puis en utilisant la fonction translate sur les chaines impactées une fois chargée par le loader

  3. #3
    DEC
    DEC est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2004
    Messages : 65
    Points : 49
    Points
    49
    Par défaut
    Excuse moi, mais je ne comprends pas trop ce que tu veux dire.....c'est la première fois que je fais du SQL*LOADER....

    Est-ce que tu veux dire que je change tout les retour de chariot par \n?

    Et après, comment je fais pour traduire ce caractère???

    Merci pour l'aide
    DEC

  4. #4
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Est-ce que tu veux dire que je change tout les retour de chariot par \n?
    ==> OUI dans l'exemple qui suis : j'ai mis la chaine "[CRLF]"
    La ç'est toi qui voit : \n si tu veux

    et après : un exemple étant mieux que de long discours

    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
     
    DROP TABLE TEST
    Table dropped
     
    CREATE TABLE TEST (V1 VARCHAR2(2000))
    Table created
     
    Insert Into TEST values('Ceci est mon test [CRLF]2ème Ligne[CRLF]3ème Ligne')
    1 row inserted
     
     
    Update Test set V1=replace(V1,'[CRLF]',chr(10))
    1 row updated
     
     
    select * from test
    V1                                                                              
    --------------------------------------------------------------------------------
    Ceci est mon test 
    2ème Ligne
    3ème Ligne                                                                      
    1 row selected

  5. #5
    DEC
    DEC est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2004
    Messages : 65
    Points : 49
    Points
    49
    Par défaut
    Tu es génial!!!!!!!!!!!!!!

    Tout fonctionnne
    Merci beaucoup!!

    Je t'en dois une!!!!

    DEC

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

Discussions similaires

  1. SQl LOADER: Problème de date
    Par claralavraie dans le forum SQL*Loader
    Réponses: 25
    Dernier message: 28/03/2017, 12h24
  2. SQL*Loader avec fichier sans retour chariot
    Par asirier dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 06/03/2013, 12h05
  3. [SQL Loader] problème de retour chariot
    Par euphorix dans le forum SQL
    Réponses: 3
    Dernier message: 31/08/2006, 06h37
  4. [SQL*LOADER] Problème contrainte
    Par Spyco dans le forum Oracle
    Réponses: 2
    Dernier message: 12/01/2006, 09h52
  5. [SQL*Loader] Problème de chargement de nombres
    Par sebduth dans le forum Oracle
    Réponses: 10
    Dernier message: 18/11/2005, 11h07

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