Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > SQL*Loader
SQL*Loader Forum d'entraide sur Oracle SQL*Loader
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2007, 21h53   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 45
Points : 10
Points : 10
Par défaut comment inserer des chiffres decimales stocké dans un fichier excel avec sqlloader

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 :
1
2
3
4
5
6
7
LOAD DATA INFILE 'fichier.csv'
APPEND
INTO TABLE TABLE
FIELDS terminated BY ';'
(
montant
)
mais j'arrive pas à inserer mes donnees il me donne l'erreur suivante:
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
oasma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 00h09   #2
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
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...
LEK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 00h52   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 45
Points : 10
Points : 10
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
oasma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 05h12   #4
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Bonjour,

tu peux essayer ça :

Code :
1
2
3
4
5
6
7
LOAD DATA INFILE 'fichier.csv'
APPEND
INTO TABLE nom_table
FIELDS terminated BY ';'
(
montant DECIMAL EXTERNAL
)
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 17h16   #5
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 45
Points : 10
Points : 10
salut
j'ai utilisé le code que vous m'avez donné mais ça marche pas il me donne tjrs la meme erreur!!quoi faire
oasma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 18h07   #6
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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 ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 23h05   #7
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 45
Points : 10
Points : 10
le format de données que j'utilise est 4.25 et l'operateur decimal c'est le .
mon OS est windows XP
oasma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 09h20   #8
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Donnez le ctl utilisé ainsi que 3-4 lignes du fichier "bad".

Lancez SQL*Plus, dans une fenêtre MS-DOS (sqlplus) :
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 13h21   #9
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 45
Points : 10
Points : 10
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 :
1
2
3
4
5
SQL> SELECT 9/2 FROM dual;
 
       9/2
----------
       4,5
oasma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 13h25   #10
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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 !!!
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 17h22   #11
Membre Expert
 
Homme
Expert Datawarehouses + BO (sur BDD Oracle et SQL Server)
Inscription : mars 2003
Messages : 645
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 41
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Expert Datawarehouses + BO (sur BDD Oracle et SQL Server)

Informations forums :
Inscription : mars 2003
Messages : 645
Points : 1 165
Points : 1 165
et en cherchant du côté de
to_number (solde,'0d0','nls_numeric_characters=''.,''')
phili_b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 17h32   #12
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
non, il suffit de modifier la variable OS NLS_LANG pour qu'elle soit conforme avec les données, ou vice-versa !
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2009, 19h48   #13
Invité de passage
 
Inscription : mars 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 2
Points : 1
Points : 1
Par défaut Importation des fichier DBF en base de donne ORACLE

je bosion un exemple de chargement de fichier DBF(data base file) on base de donne ORACLE
et Merci
bentmoh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h35.


 
 
 
 
Partenaires

Hébergement Web