BOnjour,
Nous chargeons un fichier plat avec des montants décimaux négatifs (ex : -999.99) Cela fonctionnait très bien jusqu'à ce que, sans raison apparente, on obtienen désormais l'erreur ORA-01722: invalid number.
Le control file est le suivant :
La ligne en erreur dans la .bad est la suivante :
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 OPTIONS(ERRORS=0, DIRECT=TRUE, SILENT=FEEDBACK) LOAD DATA Append INTO TABLE TLDMEEVP FIELDS TERMINATED BY ';' WHEN FOREIGN_AMOUNT != '0' OPTIONALLY ENCLOSED BY '"' ( BUSINESS_UNIT, ALTACCT, PROJECT_ID, FOREIGN_CURRENCY, FOREIGN_AMOUNT, PROD_TYPE_BO_SG, OPERATION_CD_SG, PRODUCT_CD_SG, BO_ID_SG, SOURCE, DATSITU Date 'MMYYYY', TOPAGR CONSTANT "O", ID SEQUENCE(MAX, 1) )
le NLS_NUMERIC_CHARACTER est ,; pour la DATABASE et ., pour la SESSION
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 G2279;3024310000;IBEQ-A;GBP;-17456.04;AVT;AVTITV;0007307338;TBH0626939;TAV;072007
Format de la table cible
Auriez-vous des pistes svp, c'est très bizarre.
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 SQL> desc tldmeevp; Name Null? Type ----------------------------------------- -------- ---------------------------- BUSINESS_UNIT NOT NULL VARCHAR2(5) ALTACCT NOT NULL VARCHAR2(10) PROJECT_ID VARCHAR2(15) FOREIGN_CURRENCY NOT NULL VARCHAR2(3) FOREIGN_AMOUNT NUMBER(21,3) PROD_TYPE_BO_SG NOT NULL VARCHAR2(12) OPERATION_CD_SG NOT NULL VARCHAR2(16) PRODUCT_CD_SG NOT NULL VARCHAR2(16) BO_ID_SG NOT NULL VARCHAR2(16) SOURCE NOT NULL VARCHAR2(3) TOPAGR VARCHAR2(2) ID NOT NULL NUMBER(10) DATSITU NOT NULL DATE
Partager