Bonsoir, j'ai une préoccupation depuis 2 jours et ça commence a bien faire donc j'ai besoin de votre aide.
j'ai des données de type chaine de caractère dans le fichier plat et je les les convertir en type number avant leur insertion dans ma BDD oracle à travers sql loader car mes champs dans BDD sont déclarés avec le type number mais j'ai cette erreur
voici mon fichier de contrôleORA-00604: une erreur s'est produite au niveau SQL récursif 1
ORA-01722: Nombre non valide
j'ai essayé en ajoutant les NLS_NUMERIC_CHARACTERS mais rien a faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 LOAD DATA APPEND INTO TABLE ma table FIELDS TERMINATED BY ';' TRAILING NULLCOLS (CETABL char(5) , COPRODUIT char(35) , DESIG char(128), QUANTITE QUANTITE "TO_NUMBER(:QUANTITE,'999G999D99')" MONTANT_HT "TO_NUMBER(:MONTANT_HT,'999G999G999')", MONTANT_TTC "TO_NUMBER(:MONTANT_TTC,'999G999G999')" DATE Date "DD/MM/YYYY" )
voici comment se présente mes données
je précise qu'il y a un séparateur d'espace entre les milliers et c'est pour cela que j'utilise G pour l'indiquer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 212;1101411;MAXIMOUSSE 24 NEW BLOH;120,00; 50 160;59 189;01/01/2013 212;1101411;MAXIMOUSSE 24 NEW BLOH;1 080,00;368 010;368 010;01/01/2013 212;1102101;BF4 BLOH X 36 MX;-2 520,00;-745 200;-879 336;01/01/2013 212;1102101;BF4 BLOH X 36 MX;2 520,00;686 980;686 980;01/01/2013 212;1102103;BF 8 580 GR X 24 MX;720,00;363 090;363 090;01/01/2013
qu'est ce qu'il faut adapter à ces lignes pour que ça marche car j'ai essayer plusieurs syntaxe mais rien n'y faire ça ne marche pas
j'espère que j'ai été plus précis et merci de vouloir m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 QUANTITE "TO_NUMBER(:QUANTITE,'999G999D99')" MONTANT_HT "TO_NUMBER(:MONTANT_HT,'999G999G999')", MONTANT_TTC "TO_NUMBER(:MONTANT_TTC,'999G999G999')" comme j'ai eu a le dire, j'ai essayé toute les possibilités je pense avec NLS_NUMERIC_CHARACTERS aussi voici la structure de ma table table ACHAT_PRODUIT( CODE_ETABL VARCHAR2(5), CODE_PRODUIT VARCHAR2(35), DESIGNATION VARCHAR2(128), QUANTITE NUMBER, MONTANT_HT NUMBER, MONTANT_TTC NUMBER, DATE_GENERATION DATE)
Partager