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 :

Erreur dans conditions SQL*Loader


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Erreur dans conditions SQL*Loader
    Bonjour,

    J'alimente ma base de donnée sous Oracle 8.1 avec des fichiers plats en utilisant SQL Loader.

    Voici la table qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> desc referentiel.oep80;
     Nom                                       NULL ?   Type
     ----------------------------------------- -------- -------------
     CONO80                                               VARCHAR2(2)
     LIST80                                                 VARCHAR2(3)
     DTEF80                                                NUMBER(7)
     CURN80                                                VARCHAR2(3)
    Et voici maintenant mon fichier de contrôle dans lequel je dois faire 2 conditions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    LOAD DATA
    truncate
    INTO TABLE REFERENTIEL.OEP80
      WHEN DTEF80>=1020701 AND CURN80 = 'EUR'
      FIELDS TERMINATED BY "    "
      (
        CONO80,
        LIST80,
        DTEF80,
        CURN80
      )
    Et je me retrouve donc avec une erreur dû à la première condition. L'erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQL*Loader-350: Erreur de syntaxe à la ligne 5.
    Association illégale de caractères non alphanumériques
      WHEN DTEF80>='1020701'
    J'ai essayé plusieurs modifs mais je ne trouve pas, donc si qqun avait une idée ca m'aiderait vraiment.

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    D'àprès ce que j'ai pu comprendre il s'agit du caractère ">" qui n'est pas reconnu par SQL Loader.

    J'aimerai donc savoir par quel caractère je pourrais le remplacer, si tte fois c'est possible?

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Est ce que tu peux essayer ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    LOAD DATA
    truncate
    INTO TABLE REFERENTIEL.OEP80
      WHEN DTEF80 > 1020700 AND CURN80 = 'EUR'
      FIELDS TERMINATED BY "    "
      (
        CONO80,
        LIST80,
        DTEF80,
        CURN80
    )

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé mais ca ne fonctionne pas non plus, d'ailleur pas plus qu'avec simple cote, double cote ou sans.
    La seule chose qui fonctionne c'est le = et le <>, tous les autres opérateurs sont refusés

    J'ai trouvé très peu de renseignement sur le net mais il semblerait que c'est les 2 seuls symboles acceptés.

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Dans ce cas tu crée une table temporaire ou de travail puis tu insére toute des données et enfin tu travaille dessus et n'insére que les bonnes données dans la table finale

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci pour ton aide.

    Mais au final j'avais la possibilité d'effectuer ce tri avant la construction des fichiers plats, c'est donc la solution que j'ai retenu.

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

Discussions similaires

  1. erreur dans requete sql
    Par Invité dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/03/2010, 19h54
  2. Erreur dans un SQL
    Par JP.NUAGE dans le forum Bases de données
    Réponses: 5
    Dernier message: 01/03/2009, 16h37
  3. Erreur dans requête SQL
    Par Gaetch dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/11/2008, 07h20
  4. Réponses: 6
    Dernier message: 26/02/2008, 11h58
  5. erreur dans requete Sql
    Par flOZ dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/05/2006, 02h49

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