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 ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères


Sujet :

SQL*Loader Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut Erreur ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères
    Bonjour,

    Je cherche à charger des données dans une table qui a été créée comme suit:

    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
     create table T_IMMAT
    (DATE_FICHIER varchar(27), 
    GENRE varchar(4), 
    CODE_DPT varchar(3), 
    IMMAT varchar (12), 
    DATE_CG date (8), 
    CODE_CANTON varchar(2), 
    CODE_COMMUNE varchar(3),
    PUISS_FISC varchar (3), 
    PTR varchar (5), 
    NUM_VOIE varchar (5), 
    BIS_TER varchar(1), 
    NATURE_VOIE varchar(6), 
    NOM_VOIE varchar(27), 
    CODE_MOUV varchar(4),
    CAT_CLI varchar(1), 
    VIN varchar(17), 
    MARQUE_CARROSSIER varchar(10), 
    TYPE_MINE varchar(20), 
    MODELE varchar(9), 
    CARROSSERIE varchar(8), 
    ENERGIE varchar(2),
    PLACES_ASSISES varchar(5), 
    MEC date(6), 
    SIREN varchar(9), 
    APE varchar(5), 
    CSP varchar(2), 
    SIREN_LEASING varchar(9), 
    AN_NAISS varchar(4),
    CIVILITE varchar(7), 
    PATRONYME varchar(39), 
    CDE_COMMUNE_INSEE varchar(3), 
    DR varchar(2), 
    CODE_AFF varchar(5), 
    TYPE_CAISSE varchar(6), 
    SEGMENT_EUR varchar(16),
     NBRE_PORTES varchar(1), 
     MODELE_RE varchar(9), 
     IRIS varchar(9), 
     MARQUE_CONSTRUCTEUR varchar(10), 
     DATE_ARRETEE varchar(27), 
     VOLUME varchar(9), 
     JO varchar(4))
     ;
    Je cherche à charger des données depuis un fichier texte avec le .ctl suivant:

    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
    load data
    infile'2017_02.dat'
     
    --truncate
    append
     
    into table T_IMMAT
     
    (DATE_FICHIER position (1:27), 
    GENRE position (28:31), 
    CODE_DPT position (32:34), 
    IMMAT position (35:46), 
    DATE_CG position (47:54), 
    CODE_CANTON position (55:56),
    CODE_COMMUNE position (57:59), 
    PUISS_FISC position (60:62), 
    PTR position (63:67), 
    NUM_VOIE position (68:72), 
    BIS_TER position (73:73), 
    NATURE_VOIE position (74:79),
    NOM_VOIE position (80:106), 
    CODE_MOUV position (107:110), 
    CAT_CLI position (111:111), 
    VIN position (112:128), 
    MARQUE_CARROSSIER position (129:138), 
    TYPE_MINE position (139:158),
    MODELE position (159:167), 
    CARROSSERIE position (168:175), 
    ENERGIE position (176:177), 
    PLACES_ASSISES position (178:182), 
    MEC position (183:188), 
    SIREN position (189:197),
    APE position (198:202), 
    CSP position (203:204), 
    SIREN_LEASING position (205:213), 
    AN_NAISS position (214:217), 
    CIVILITE position (218:224), 
    PATRONYME position (225:263),
    CDE_COMMUNE_INSEE position (264:266), 
    DR position (267:268), 
    CODE_AFF position (269:273), 
    TYPE_CAISSE position (274:279), 
    SEGMENT_EUR position (280:295), 
    NBRE_PORTES position (296:296), 
    MODELE_RE position (297:305), 
    IRIS position (306:314), 
    MARQUE_CONSTRUCTEUR position (315:324), 
    DATE_ARRETEE position (325:351), 
    VOLUME position (352:360), 
    JO position (361:364))
    Et j'obtiens le message d'erreur suivant:

    Enregistrement 1 : Rejeté - Erreur sur table T_IMMAT, colonne DATE_CG.
    ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères


    Je suppose que le problème provient de mes champs date mais je ne vois quoi modifier dans le .ctl pour arriver à charger les données.

    Quelqu'un aurait une idée ?

    Merci.
    Microsoft SQL Server Management Studio v17.9.1

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Il faut que tu précises dans ton fichier CTL comment tu convertis la donnée de date lue dans ton fichier (du texte sur 8 caractères) en une date reconnue par Oracle.
    Cela donnerait quelque chose comme cela à la ligne 13 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_CG position (47:54) "to_date(:DATE_CG, 'YYYYMMDD')",
    A adapter au format de la date dans ton fichier et à vérifier dans la documentation d'Oracle (Fascicule "Utilities") parce que je donne les informations de mémoire.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    Merci, ça fonctionne parfaitement.
    Microsoft SQL Server Management Studio v17.9.1

  4. #4
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    Je reviens finalement sur le sujet car mon problème (maintenant résolu) portait sur le chargement d'un fichier fixe.

    Il se pose aussi sur le chargement d'un fichier variable.

    J'ai créé une table comme suit:

    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
    create table T_RECTIF
    (DATE_FICHIER varchar2 (200),
    CD_PAYS varchar2 (200),
    DT_MVT date,
    CD_MVT varchar2 (200),
    VN_VO varchar2 (200),
    CIV varchar2 (200),
    PRENOM varchar2 (200),
    NOM varchar2 (200),
    NOM_USAGE varchar2 (200),
    ADRESSE varchar2 (200),
    LIGNE02 varchar2 (200),
    LIGNE03 varchar2 (200),
    LIGNE04 varchar2 (200),
    LIGNE05 varchar2 (200),
    CD_POSTAL varchar2 (200),
    COMMUNE varchar2 (200),
    LIGNE06 varchar2 (200),
    CD_CANT varchar2 (200),
    CD_INSEE varchar2 (200),
    CD_DEPT varchar2 (200),
    CD_IRIS varchar2 (200),
    CAT_CLI_N_O varchar2 (200),
    CD_CSP varchar2 (200),
    AN_NAISS date,
    MODELE_REN varchar2 (200),
    SEG_EUR varchar2 (200),
    SEG_REN varchar2 (200),
    VERSION varchar2 (200),
    GENRE varchar2 (200),
    IMMAT varchar2 (200),
    IMMAT_NUM varchar2 (200),
    IMMAT_LET varchar2 (200),
    DEPT_IMMAT varchar2 (200),
    DT_CG date,
    VIN varchar2 (200),
    MARQUE_CARR varchar2 (200),
    TYPE_MINE varchar2 (200),
    MODELE varchar2 (200),
    ANMO_MEC date,
    IMMAT_PREC varchar2 (200),
    IMMAT_NUM_PR varchar2 (200),
    IMMAT_LET_PR varchar2 (200),
    DEPT_IMMAT_PREC varchar2 (200),
    CD_APE varchar2 (200),
    SIREN varchar2 (200),
    RAIS_SOC_LOC varchar2 (200),
    NOM_LOC varchar2 (200),
    PRENOM_LOC varchar2 (200),
    TYPE_LOC varchar2 (200),
    SIREN_LOUEUR varchar2 (200),
    TURBO varchar2 (200),
    DATE_ARRETE date,
    VOLUME varchar2 (200),
    JO varchar2 (200))
    ;

    J'ai donc essayé plusieurs combinaisons pour adapter la syntaxe du fichier fixe au fichier variable, du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    load data infile 'RECTIF_2017_02.dat'
    append
    into table T_RECTIF
    fields terminated by ';'
    ("DATE_FICHIER",
    "CD_PAYS",
    "DT_MVT" "to_date(:DT_MVT,yyyymmdd)",,
    "CD_MVT",
    ...
    Et cela n'a bien entendu pas fonctionné.

    Quelle serait donc la formule magique pour ce genre de fichier ?
    Microsoft SQL Server Management Studio v17.9.1

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Compare ces deux lignes :
    Citation Envoyé par filsdepub Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "CD_MVT" "to_date(:CD_MVT,yyyymmdd)",
    ...
    Citation Envoyé par al1_24 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_CG position (47:54) "to_date(:DATE_CG, 'YYYYMMDD')",
    Notes-tu une différence ?

    PS : Le livre secret des formules magiques est accessible à tous ici : Oracle Database Utilities
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    A part les majuscules dans le format du to_date, rien de particulier.

    Je suppose qu'il faudrait mettre une séparation entre et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "to_date(:CD_MVT,yyyymmdd)"
    mais ce que j'ai tenté (, ; etc..) n'a pas fonctionné.
    Microsoft SQL Server Management Studio v17.9.1

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Citation Envoyé par filsdepub Voir le message
    A part les majuscules dans le format du to_date, rien de particulier.
    Regarde mieux.

    Citation Envoyé par filsdepub Voir le message
    ce que j'ai tenté (, ; etc..) n'a pas fonctionné.
    Cela n'est pas un message d'erreur
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    J'étais tellement focalisé sur le séparateur que je n'avais pas vu que je m'étais gouré de nom de colonne...

    J'ai donc rectifié en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DT_MVT" "to_date(:DT_MVT,yyyymmdd)",
    mais cela n'a pas mieux fonctionné.
    Microsoft SQL Server Management Studio v17.9.1

  9. #9
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Et toujours pas de message d'erreur ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  10. #10
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    Si, plusieurs:
    SQL*Loader-951: Erreur d'appel/initialisation de charge
    ORA-02373: Erreur d'analyse de l'instruction d'insertion pour la table T_RECTIF
    ORA-00984: un nom de colonne n'est pas autorisé ici
    Microsoft SQL Server Management Studio v17.9.1

  11. #11
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Il n'est pas nécessaire d'encadrer les noms de colonnes avec des guillemets.
    En revanche, les chaines de caractères doivent être encadrées d'apostrophes.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  12. #12
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    J'ai enlevé tous les guillemets et ajouté des apostrophes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DT_MVT 'to_date(:DT_MVT,yyyymmdd)',
    et j'obtiens le message suivant:

    SQL*Loader-308: Chaîne SQL Facultatif de la colonne DT_MVT doit être entre guillemets.
    Microsoft SQL Server Management Studio v17.9.1

  13. #13
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Toi, quand t'étais petit, tu devais pas être bon au jeu des 7 erreurs
    Essaye encore
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  14. #14
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    Comment tu le sais ? T'es devin ou quoi ?

    J'essaye encore et toujours et je ne comprends rien aux messages d'erreur Oracle:

    SQL*Loader-350: Erreur de syntaxe en ligne 7.
    "," ou ")" attendu, "to_date" trouvé.
    "DT_MVT" to_date(T_MVT,yyyymmdd),
    ^

    pour avoir tapé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DT_MVT" to_date(:DT_MVT,yyyymmdd),
    Microsoft SQL Server Management Studio v17.9.1

  15. #15
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Relis ce message, ça devrait te sauter aux yeux
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  16. #16
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    J'ai beau relire le message et je ne vois pas ce qu'il y a comprendre car pour moi les 2 exemples ne portent pas sur le même sujet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "CD_MVT" "to_date(:CD_MVT,yyyymmdd)",
    1. comporte une erreur de colonne et devrait plutôt être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DT_MVT" "to_date(:DT_MVT,yyyymmdd)",
    2. porte sur le chargement d'un fichier variable


    Alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_CG position (47:54) "to_date(:DATE_CG, 'YYYYMMDD')",
    fait référence à mon premier message sur mon problème de chargement de fichier fixe.
    Microsoft SQL Server Management Studio v17.9.1

  17. #17
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Et tu n'as toujours pas remarqué que dans l'exemple qui fonctionne, le format de date est encadré avec des guillemets ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  18. #18
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Ce sont des apostrophes, pas des guillemets

  19. #19
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    En effet, erreur de langage
    Je bats ma coulpe

    Edit : et je poste mon 7000ème message par la même occasion
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  20. #20
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 359
    Points : 77
    Points
    77
    Par défaut
    Ça y' est !!!!

    J'ai donc modifié mon fichier comme suit:

    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
    load data infile '2017_02.dat'
    append
    into table T_RECTIF
    fields terminated by ';'
    (DATE_FICHIER,
    CD_PAYS,
    DT_MVT "to_date(:DT_MVT,'yyyymmdd')",
    CD_MVT, 
    VN_VO,
    CIV,
    PRENOM,
    NOM,
    NOM_USAGE,
    ADRESSE,
    LIGNE02,
    LIGNE03,
    LIGNE04,
    LIGNE05,
    CD_POSTAL,
    COMMUNE,
    LIGNE06,
    CD_CANT,
    CD_INSEE,
    CD_DEPT,
    CD_IRIS,
    CAT_CLI_N_O,
    CD_CSP,
    AN_NAISS "to_date(:DT_MVT,'yyyy')",
    MODELE_REN,
    SEG_EUR,
    SEG_REN,
    VERSION,
    GENRE_AAA,
    IMMAT,
    IMMAT_NUM,
    IMMAT_LET,
    DEPT_IMMAT,
    DT_CG "to_date(:DT_MVT,'yyyymmdd')",
    VIN,
    MARQUE_CARR,
    TYPE_MINE,
    MODELE,
    ANMO_MEC "to_date(:DT_MVT,'yyyymm')",
    IMMAT_PREC,
    IMMAT_NUM_PR,
    IMMAT_LET_PR,
    DEPT_IMMAT_PREC,
    CD_APE,
    SIREN,
    RAIS_SOC_LOC,
    NOM_LOC,
    PRENOM_LOC,
    TYPE_LOC,
    SIREN_LOUEUR,
    TURBO,
    DATE_ARRETE,
    VOLUME,
    JO)
    mais j'ai donc une nouvelle erreur :

    Enregistrement 1 : Rejeté - Erreur sur table T_RECTIF
    ORA-00604: une erreur s'est produite au niveau SQL récursif 1
    ORA-01841: L'année (complète) doit être comprise entre -4713 et +9999 et être différente de 0

    \\MAXIMUM ERROR COUNT EXCEEDED - Les statistiques données ci-dessus résultent d'une exécution partielle.
    Microsoft SQL Server Management Studio v17.9.1

Discussions similaires

  1. Erreur ORA-12899 que je n'arrive pas à résoudre
    Par chekchouka dans le forum Oracle
    Réponses: 8
    Dernier message: 18/09/2012, 10h30
  2. Réponses: 19
    Dernier message: 17/03/2011, 14h30
  3. Réponses: 2
    Dernier message: 23/11/2010, 13h56
  4. Erreur ORA-01861 (problème de date)
    Par melleweb dans le forum SQL
    Réponses: 1
    Dernier message: 09/07/2007, 12h37
  5. ERREUR ORA-01861
    Par claralavraie dans le forum Oracle
    Réponses: 3
    Dernier message: 04/01/2006, 17h01

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