|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 45 ![]() |
salut
j'ai un fichier excel qui contient des chiffres decimales que je veux inserer dans une table oracle9i j'ai utilisé sqlloder avec le fichier de controle suivant: Code :
Enregistrement 1 : Rejeté - Erreur sur table table, colonne MONTANT. ORA-01722: Nombre non valide svp si quelq'un peut me dire d'ou viens ce probleme merci d'avance |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : mai 2005 Messages : 596 ![]() |
Le nom table pour une table ne me semble pas approprié.
Le champ montant semble numrique : est-tu sûr que l'ensemble des valeurs est numérique? Y a til une valeur nulle dans le fichier csv ? L'erreur peut aussi provenir de l'utilisation du point au lieu de la virgule (ou l'inverse) comme séprateur décimal... |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 45 ![]() |
merci pour votre reponse
mon probleme que j'arrive a inserer les chiffres qui ne contiennent pas de valeurs apres la virgule mais si le chiffre contient une virgule j'arrive pas a l'inserer dans ma table.... je precise que je utilise le . comme virgule |
|
|
00
|
|
|
#4 | ||
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Bonjour,
tu peux essayer ça : Code :
|
||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 45 ![]() |
salut
j'ai utilisé le code que vous m'avez donné mais ça marche pas il me donne tjrs la meme erreur!!quoi faire |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
donnez un exemple de données .
c'est quel format ? 4.25 ou 4,25 ? quel est votre OS ? comment est défini votre séparateur décimal ? |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 45 ![]() |
le format de données que j'utilise est 4.25 et l'operateur decimal c'est le .
mon OS est windows XP |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
Donnez le ctl utilisé ainsi que 3-4 lignes du fichier "bad".
Lancez SQL*Plus, dans une fenêtre MS-DOS (sqlplus) : |
|
|
00
|
|
|
#9 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 45 ![]() |
mon fichier de controle c'est:
LOAD DATA INFILE 'balance.csv' APPEND INTO TABLE balance FIELDS terminated BY ';' ( annee, mois, lpr, sa, solde Decimal EXTERNAL, cumul Decimal EXTERNAL ) les lignes de fichier balance.bad: 2006;12;1103;G05012;12136.68;267143.70 2006;12;1103;G05021;1520.77;21987.89 2006;12;1103;G05032;15754.00;219848.31 2006;12;1103;G05035;9440.06;122374.75 2006;12;1103;G05101;3952.82;44621.54 2006;12;1103;G05209;29600.18;363837.23 2006;12;1103;G05210;2256.41;9717.11 2006;12;1103;G05211;18863.78;254376.55 2006;12;1103;G05212;47658.42;680726.68 2006;12;1103;G05213;83168.38;1041397.02 2006;12;1103;G05214;53665.00;770228.41 et pour sqlplus ça donne: Code :
|
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
l'output de SQL*Plus montre clairement et indéniablement que votre environnement considère que le séparateur décimal est la virgule et non le point !!!
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Expert Datawarehouses + BO (sur BDD Oracle et SQL Server) Inscription : mars 2003 Messages : 645 ![]() |
et en cherchant du côté de
to_number (solde,'0d0','nls_numeric_characters=''.,''') |
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
non, il suffit de modifier la variable OS NLS_LANG pour qu'elle soit conforme avec les données, ou vice-versa !
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 2 ![]() |
je bosion un exemple de chargement de fichier DBF(data base file) on base de donne ORACLE
et Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com