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 :

Perte de colonne dans un chargement


Sujet :

SQL*Loader Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2010
    Messages
    358
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 358
    Points : 77
    Points
    77
    Par défaut Perte de colonne dans un chargement
    Bonjour,

    Je fais face à un problème de chargement de fichier dont je ne comprends pas le message d'erreur.

    J'ai commencé par créer une table :

    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
    create table T_IMMAT
    (DT_MVT date,
    CD_MVT varchar2 (200),
    MOIS varchar2 (200),
    VOLUME varchar2 (200),
    JO varchar2 (200),
    VN_VO varchar2 (200),
    GENRE varchar2 (200),
    CIV varchar2 (200),
    PRENOM varchar2 (200),
    NOM varchar2 (200),
    NOM_USAGE varchar2 (200),
    NO_VOIE varchar2 (200),
    BIS_TER varchar2 (200),
    TYPE_VOIE varchar2 (200),
    VOIE varchar2 (200),
    ADRESSE varchar2 (200),
    LIGNE02 varchar2 (200),
    LIGNE03 varchar2 (200),
    LIGNE04 varchar2 (200),
    LIGNE05 varchar2 (200),
    CD_POSTAL varchar2 (200),
    COMMUNE varchar2 (200),
    CD_CANT varchar2 (200),
    CD_INSEE varchar2 (200),
    COMM_INS varchar2 (200),
    CD_DEPT varchar2 (200),
    CD_IRIS varchar2 (200),
    CD_PAYS varchar2 (200),
    CAT_CLI varchar2 (200),
    CD_CSP varchar2 (200),
    AN_NAISS varchar2 (200),
    CD_DR varchar2 (200),
    CD_CONCESS varchar2 (200),
    SEG_EUR varchar2 (200),
    VERSION varchar2 (200),
    IMMAT varchar2 (200),
    DT_CG date,
    PUIS_FISC varchar2 (200),
    PUIS_DYN varchar2 (200),
    PUIS_ISO varchar2 (200),
    CYLINDREE varchar2 (200),
    TYPE_BOITE varchar2 (200),
    NB_VITESSES varchar2 (200),
    PROPULSION varchar2 (200),
    NB_CYL varchar2 (200),
    LONGUEUR varchar2 (200),
    LARGEUR varchar2 (200),
    HAUTEUR varchar2 (200),
    EMPATEMENT varchar2 (200),
    CO2 varchar2 (200),
    CONSO_URB varchar2 (200),
    CONSO_ROUTE varchar2 (200),
    CONSO_MIXTE varchar2 (200),
    PTR varchar2 (200),
    VIN_WMI varchar2 (200),
    VIN_TVV varchar2 (200),
    VIN_SER varchar2 (200),
    VIN varchar2 (200),
    MARQUE_CARR varchar2 (200),
    MARQUE_CONSTR varchar2 (200),
    TYPE_MINE varchar2 (200),
    MODELE varchar2 (200),
    CARROSSERIE varchar2 (200),
    ENERGIE varchar2 (200),
    CU_NBPL varchar2 (200),
    ANMO_MEC date,
    AN_CREAT_MODELE date,
    TYPE_CAISSE varchar2 (200),
    TYPE_CAISSE_DET varchar2 (200),
    NB_PORTES varchar2 (200),
    DEPT_IMMAT_PREC varchar2 (200),
    IMMAT_PREC varchar2 (200),
    ANMO_CG_PREC varchar2 (200),
    NB_MAINS varchar2 (200),
    CD_APE varchar2 (200),
    SIREN varchar2 (200),
    RAIS_SOC_TIT varchar2 (200),
    SIREN_TIT varchar2 (200),
    NOM_LOC varchar2 (200),
    PRENOM_LOC varchar2 (200),
    SIREN_LOC varchar2 (200),
    TYPE_LOC varchar2 (200),
    RAIS_SOC_LOUEUR varchar2 (200),
    SIREN_LOUEUR varchar2 (200),
    PRIX_CATALOG varchar2 (200),
    SIRET varchar2 (200),
    TYPE_PERS varchar2 (200));
    Ensuite le .ctl :

    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
    options (skip=1)
    load data infile '20170413140456.dat'
    truncate
    into table T_IMMAT
    fields terminated by ';'
    ("DT_MVT" "to_date(:CD_MVT, 'YYYYMMDD')",
    "CD_MVT",
    "MOIS",
    "VOLUME",
    "JO",
    "VN_VO",
    "GENRE",
    "CIV",
    "PRENOM",
    "NOM",
    "NOM_USAGE",
    "NO_VOIE",
    "BIS_TER",
    "TYPE_VOIE",
    "VOIE",
    "ADRESSE",
    "LIGNE02",
    "LIGNE03",
    "LIGNE04",
    "LIGNE05",
    "CD_POSTAL",
    "COMMUNE",
    "CD_CANT",
    "CD_INSEE",
    "COMM_INS",
    "CD_DEPT",
    "CD_IRIS",
    "CD_PAYS",
    "CAT_CLI",
    "CD_CSP",
    "AN_NAISS",
    "CD_DR",
    "CD_CONCESS",
    "SEG_EUR",
    "VERSION",
    "IMMAT",
    "DT_CG" "to_date(:DT_CG, 'YYYYMMDD')",
    "PUIS_FISC",
    "PUIS_DYN",
    "PUIS_ISO",
    "CYLINDREE",
    "TYPE_BOITE",
    "NB_VITESSES",
    "PROPULSION",
    "NB_CYL",
    "LONGUEUR",
    "LARGEUR",
    "HAUTEUR",
    "EMPATEMENT",
    "CO2",
    "CONSO_URB",
    "CONSO_ROUTE",
    "CONSO_MIXTE",
    "PTR",
    "VIN_WMI",
    "VIN_TVV",
    "VIN_SER",
    "VIN",
    "MARQUE_CARR",
    "MARQUE_CONSTR",
    "TYPE_MINE",
    "MODELE",
    "CARROSSERIE",
    "ENERGIE",
    "CU_NBPL",
    "ANMO_MEC" "to_date(:ANMO_MEC, 'YYYYMM')",
    "AN_CREAT_MODELE" "to_date(:AN_CREAT_MODELE, 'YYYY')",
    "TYPE_CAISSE",
    "TYPE_CAISSE_DET",
    "NB_PORTES",
    "DEPT_IMMAT_PREC",
    "IMMAT_PREC",
    "ANMO_CG_PREC",
    "NB_MAINS",
    "CD_APE",
    "SIREN",
    "RAIS_SOC_TIT",
    "SIREN_TIT",
    "NOM_LOC",
    "PRENOM_LOC",
    "SIREN_LOC",
    "TYPE_LOC",
    "RAIS_SOC_LOUEUR",
    "SIREN_LOUEUR",
    "PRIX_CATALOG",
    "SIRET",
    "TYPE_PERS")
    Et voici l'erreur que cela me sort :

    Enregistrement 1 : Rejeté - Erreur sur table T_IMMAT colonne "TYPE_PERS".
    Colonne absente avant fin d'enregis. logique (utiliser TRAILING NULLCOLS)
    \\MAXIMUM ERROR COUNT EXCEEDED - Les statistiques données ci-dessus résultent d'une exécution partielle.


    Je ne comprends pas ce message étant donné que la colonne "TYPE_PERS" est présente et dans ma table et dans mon .ctl

    Quelqu'un aurait-il une explication ?

    Merci.
    Microsoft SQL Server Management Studio v17.9.1

  2. #2
    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
    N'y aurait il pas un point virgule dans les données de l'un des champs du fichiers sources ?

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Bonjour,
    essaie d'ajouter dans le fichier ctl la ligne : juste après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fields terminated by ";"
    Cela permet de charger un fichier avec des colonnes vides.

    Dans ton cas cela donnerait :

    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
    options (skip=1)
    load data infile '20170413140456.dat'
    truncate
    into table T_IMMAT
    fields terminated by ';'
    TRAILING NULLCOLS
    ("DT_MVT" "to_date(:CD_MVT, 'YYYYMMDD')",
    "CD_MVT",
    "MOIS",
    "VOLUME",
    "JO",
    "VN_VO",
    "GENRE",
    "CIV",
    "PRENOM",
    "NOM",
    "NOM_USAGE",
    "NO_VOIE",
    "BIS_TER",
    "TYPE_VOIE",
    "VOIE",
    "ADRESSE",
    "LIGNE02",
    "LIGNE03",
    "LIGNE04",
    "LIGNE05",
    "CD_POSTAL",
    "COMMUNE",
    "CD_CANT",
    "CD_INSEE",
    "COMM_INS",
    "CD_DEPT",
    "CD_IRIS",
    "CD_PAYS",
    "CAT_CLI",
    "CD_CSP",
    "AN_NAISS",
    "CD_DR",
    "CD_CONCESS",
    "SEG_EUR",
    "VERSION",
    "IMMAT",
    "DT_CG" "to_date(:DT_CG, 'YYYYMMDD')",
    "PUIS_FISC",
    "PUIS_DYN",
    "PUIS_ISO",
    "CYLINDREE",
    "TYPE_BOITE",
    "NB_VITESSES",
    "PROPULSION",
    "NB_CYL",
    "LONGUEUR",
    "LARGEUR",
    "HAUTEUR",
    "EMPATEMENT",
    "CO2",
    "CONSO_URB",
    "CONSO_ROUTE",
    "CONSO_MIXTE",
    "PTR",
    "VIN_WMI",
    "VIN_TVV",
    "VIN_SER",
    "VIN",
    "MARQUE_CARR",
    "MARQUE_CONSTR",
    "TYPE_MINE",
    "MODELE",
    "CARROSSERIE",
    "ENERGIE",
    "CU_NBPL",
    "ANMO_MEC" "to_date(:ANMO_MEC, 'YYYYMM')",
    "AN_CREAT_MODELE" "to_date(:AN_CREAT_MODELE, 'YYYY')",
    "TYPE_CAISSE",
    "TYPE_CAISSE_DET",
    "NB_PORTES",
    "DEPT_IMMAT_PREC",
    "IMMAT_PREC",
    "ANMO_CG_PREC",
    "NB_MAINS",
    "CD_APE",
    "SIREN",
    "RAIS_SOC_TIT",
    "SIREN_TIT",
    "NOM_LOC",
    "PRENOM_LOC",
    "SIREN_LOC",
    "TYPE_LOC",
    "RAIS_SOC_LOUEUR",
    "SIREN_LOUEUR",
    "PRIX_CATALOG",
    "SIRET",
    "TYPE_PERS")
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/01/2012, 19h39
  2. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 14h44
  3. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 15h31
  4. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 22h43
  5. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 09h19

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