Bonjour,
je veux mettre un fichier Plat sur ma base oracle.
j'ai un fichier texte sous cette forme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
champs1;champs2;champs3;champs4;champs5
3;Z;Z;0,879505424446072;Y
3;Z;Z;0,879505424446072;Y
3;Z;Z;0,879505424446072;Y
3;Z;Z;0,879505424446072;Y
le problème vient de mon décimal "champs4"
j'ai essayé d'utiliser replace ou translate pour le mettre en format 99.99999999999
ça n'a rien donné.
Merci de votre aide.


voila mon code sqlldr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
load data
infile 'monfichier.txt'
append into table matable
fields terminated by ";" 
(champs1, 
champs2,
champs3,
champs4,
champs5
)
Voila ma commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sqlldr user/user control=sqlldr_control.ctl skip=1

Voila ce qu'il y a dans mon fichier .log

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
 
SQL*Loader: Release 10.2.0.3.0 - Production on Mon Nov 9 16:12:36 2009
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
Control File:   sqlldr_control.ctl
Data File:      monfichier.txt
  Bad File:     monfichier.bad
  Discard File:  none specified
 
 (Allow all discards)
 
Number to load: ALL
Number to skip: 1
Errors allowed: 50
Bind array:     64 rows, maximum of 256000 bytes
Continuation:    none specified
Path used:      Conventional
 
Table Matable, loaded from every logical record.
Insert option in effect for this table: APPEND
 
   Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
 
 
value used for ROWS parameter changed from 64 to 16
Record 498: Rejected - Error on table Matable, column champs4.
ORA-01722: invalid number
 
Record 499: Rejected - Error on table Matable, column champs4.
ORA-01722: invalid number