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*Loader Oracle Discussion :

Erreur : Expecting "," or ")", found "NUMBER"


Sujet :

SQL*Loader Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut Erreur : Expecting "," or ")", found "NUMBER"
    Bonjour,

    lorsque je tente d'éxecuter SQl*Loader j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SQL*Loader-350: Syntax error at line 7.
    Expecting "," or ")", found "NUMBER".
     "TAUPER" NUMBER,          
              ^
    Et voici mon fichier de contrôle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    LOAD DATA INFILE '${PWD}/../out/RF_PER.csv'
    TRUNCATE
    INTO TABLE RF_PER 
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (PK_DE_PER "SQ_RF_SRV.NEXTVAL",
     TAUPER NUMBER,          
     DATCRE DATE,
     DATEFF DATE,
     SEN VARCHAR2(1)
    )
    Je ne comprends pas très bien pourquoi l'erreur se produit...

    Si vous avez une idée je suis preneur.

    Merci d'avance

    Dany

  2. #2
    Membre chevronné Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Par défaut
    Bonjour,

    Il ne faut pas préciser le type de données (number ou date ou varchar2). SQL*Loader fera des conversions implicites.

  3. #3
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Oui c'est ce que j'avais fais au début, mais j'ai rajouté les types pour pallier à une autre erreur.

    Je viens de retester en enlevant les types, et voici l'erreur retournée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Record 1: Rejected - Error on table RF_PER, column TAUPER.
    ORA-01722: invalid number
    Voici les données que je tente d'insérer :

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
     
    1.16023;24/08/06;01/09/06;V
    1.1608;26/09/06;01/10/06;V
    1.16203;29/03/05;01/04/05;V
    1.20233;29/09/05;01/10/05;V
    1.13421;28/03/07;01/04/07;V
    1.20316;28/10/05;01/11/05;V
    1.07773;27/11/07;01/12/07;V
    1.16201;28/04/05;01/05/05;V
    1.12753;22/10/08;23/10/08;V
    1.5104;27/02/01;01/03/01;H
    1.09001;27/12/94;01/01/95;V
    1.20786;07/05/97;12/05/97;V
    1.21315;27/05/97;01/06/97;V
    1.23332;26/06/97;01/07/97;V
    1.28688;27/07/97;01/08/97;V
    1.26921;27/08/97;01/09/97;V
    1.24703;26/09/97;01/10/97;V
    1.23636;27/10/97;01/11/97;V
    1.22264;26/11/97;01/12/97;V
    1.22721;27/12/97;01/01/98;V
    1.24246;27/01/98;01/02/98;V
    1.25313;24/02/98;01/03/98;V
    1.25466;27/03/98;01/04/98;V
    1.23636;26/04/98;01/05/98;V
    1.21045;27/05/98;01/06/98;V
    1.22788;26/06/98;01/07/98;V
    1.21916;27/07/98;01/08/98;V
    1.21919;27/08/98;01/09/98;V
    1.18144;27/09/98;02/10/98;V
    1.18194;27/10/98;01/11/98;V
    1.2079;26/11/98;01/12/98;V
    1.20174;27/12/98;01/01/99;V
    1.21171;27/01/99;01/02/99;V
    1.24229;24/02/99;01/03/99;V
    1.2537;27/03/99;01/04/99;V
    1.27258;02/05/99;07/05/99;V
    1.27074;27/05/99;01/06/99;V
    1.29721;26/06/99;01/07/99;V
    1.28796;06/08/99;11/08/99;V
    1.29199;27/08/99;01/09/99;V
    1.32522;26/09/99;01/10/99;V
    1.29679;27/10/99;01/11/99;V
    1.33381;26/11/99;01/12/99;V
    1.36214;27/12/99;01/01/00;V
    1.35874;27/01/00;01/02/00;V
    1.34037;25/02/00;01/03/00;V
    1.38698;27/03/00;01/04/00;V
    1.42719;26/04/00;01/05/00;V
    1.44031;27/05/00;01/06/00;V
    1.41363;26/06/00;01/07/00;V
    1.41047;27/07/00;01/08/00;V
    1.46393;27/08/00;01/09/00;V
    1.45831;26/09/00;01/10/00;V
    1.52722;27/10/00;01/11/00;V
    1.51079;26/11/00;01/12/00;V
    1.412;27/12/00;01/01/01;V
    1.38403;27/01/01;01/02/01;V
    1.41724;24/02/01;01/03/01;V
    1.41571;26/04/01;01/05/01;V
    1.42233;27/03/01;01/04/01;V
    1.46318;27/05/01;01/06/01;V
    1.46432;26/06/01;01/07/01;V
    1.44881;27/07/01;01/08/01;V
    1.40627;27/08/01;01/09/01;V
    1.40478;26/09/01;01/10/01;V
    1.42481;27/10/01;01/11/01;V
    1.43129;26/11/01;01/12/01;V
    1.41155;27/12/01;01/01/02;V
    1.41345;27/01/02;01/02/02;V
    1.42315;24/02/02;01/03/02;V
    1.42204;27/03/02;01/04/02;V
    1.41865;26/04/02;01/05/02;V
    1.39178;27/05/02;01/06/02;V
    1.35604;26/06/02;01/07/02;V
    1.34357;27/07/02;01/08/02;V
    1.35524;27/08/02;01/09/02;V
    1.3428;26/09/02;01/10/02;V
    1.34445;27/10/02;01/11/02;V
    1.32737;26/11/02;01/12/02;V
    1.31104;27/12/02;01/01/03;V
    1.27577;27/01/03;01/02/03;V
    1.26684;24/02/03;01/03/03;V
    1.28172;27/03/03;01/04/03;V
    1.25443;26/04/03;01/05/03;V
    1.2047;27/05/03;01/06/03;V
    1.22152;26/06/03;01/07/03;V
    1.22533;27/07/03;01/08/03;V
    1.26225;27/08/03;01/09/03;V
    1.23673;26/09/03;01/10/03;V
    1.21913;27/10/03;01/11/03;V
    1.21298;26/11/03;01/12/03;V
    1.18992;27/12/03;01/01/04;V
    1.18169;27/01/04;01/02/04;V
    1.18371;25/02/04;01/03/04;V
    1.20452;25/03/04;01/04/04;V
    1.22137;27/04/04;01/05/04;V
    1.20864;27/05/04;01/06/04;V
    1.18194;27/10/04;01/11/04;V
    1.21054;28/06/04;01/07/04;V
    1.20309;27/07/04;01/08/04;V
    1.19964;27/08/04;01/09/04;V
    1.19271;27/09/04;01/10/04;V
    1.16207;26/11/04;01/12/04;V
    1.14534;27/12/04;01/01/05;V
    1.16913;27/01/05;01/02/05;V
    1.15361;28/11/06;01/12/06;V
    1.15738;25/02/05;01/03/05;V
    1.1981;29/08/05;01/09/05;V
    1.16327;29/05/06;01/06/06;V
    1.03756;26/05/08;01/06/08;V
    1.18436;25/05/05;01/06/05;V
    1.06478;27/08/08;01/09/08;V
    1.21329;27/06/05;01/07/05;V
    1.07072;25/02/08;01/03/08;V
    1.19866;28/07/05;01/08/05;V
    1.20982;29/11/05;01/12/05;V
    1.2078;26/12/05;01/01/06;V
    1.1221;28/05/07;01/06/07;V
    1.18708;27/01/06;01/02/06;V
    1.17076;25/10/06;01/11/06;V
    1.1406;27/02/07;01/03/07;V
    1.0415;25/06/08;01/07/08;V
    1.20229;27/02/06;01/03/06;V
    1.19502;27/03/06;01/04/06;V
    1.1811;25/04/06;01/05/06;V
    1.16511;29/10/08;01/11/08;V
    1.17509;28/06/06;01/07/06;V
    1.14144;27/12/06;01/01/07;V
    1.12424;28/06/07;01/07/07;V
    1.09413;29/10/07;01/11/07;V
    1.16574;26/07/06;01/08/06;V
    1.14808;26/01/07;01/02/07;V
    1.12378;25/04/07;01/05/07;V
    1.10286;27/09/07;01/10/07;V
    1.1112;27/07/07;01/08/07;V
    1.12527;27/08/07;01/09/07;V
    1.0868;26/12/07;01/01/08;V
    1.08403;28/01/08;01/02/08;V
    1.05623;27/03/08;01/04/08;V
    1.03158;25/04/08;01/05/08;V
    1.03441;25/07/08;01/08/08;V
    1.0731;26/09/08;01/10/08;V
    et voici le type de données de la colonne TAUPER :

    Les données ont l'air de corresponde au format de la colonne, donc je ne comprends pas pourquoi l'insertion des données de passe pas

  4. #4
    Membre chevronné Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Par défaut
    C'est peut-être ta première pseudo-colonne dans laquelle tu utilise une séquence qui provoque un décalage dans la lecture des colonnes. Il essaye de mettre "24/08/06" dans la colonne TAUPER.
    Peux-tu essayer sans mettre la ligne "PK_DE_PER "SQ_RF_SRV.NEXTVAL"" ?

    Si ça ne fonctionne toujours pas, alors c'est probablement le séparateur de décimal "." qu'il n'interprète pas bien. Dans ce cas, il faut ajouter une conversion explicite "TO_CHAR(...)".

  5. #5
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    La première solution ne fonctionne pas.

    Je n'ai pas bien compris la 2ème, où est-ce que je dois mettre TO_CHAR(...) ?

    Merci de ton aide

  6. #6
    Membre chevronné Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Par défaut
    Au temps pour moi, je voulais dire "TO_NUMBER".
    Ca donne le fichier de contrôle suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    LOAD DATA INFILE '${PWD}/../out/RF_PER.csv'
    TRUNCATE
    INTO TABLE RF_PER 
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (PK_DE_PER "SQ_RF_SRV.NEXTVAL",
     TAUPER "to_number(:tauper, '999999.9999999999')",          
     DATCRE "to_date(:datcre, 'DD/MM/RR')",
     DATEFF "to_date(:dateff, 'DD/MM/RR')",
     SEN
    )

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

Discussions similaires

  1. erreur: expected unqualified-id
    Par Le Barde dans le forum C++
    Réponses: 3
    Dernier message: 11/07/2007, 15h50
  2. Réponses: 5
    Dernier message: 13/03/2006, 15h51

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