ORA-01722: invalid number dans un SQLLOADER
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 :
Code:
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)
) |
La ligne en erreur dans la .bad est la suivante :
Code:
1 2 3
|
G2279;3024310000;IBEQ-A;GBP;-17456.04;AVT;AVTITV;0007307338;TBH0626939;TAV;072007 |
le NLS_NUMERIC_CHARACTER est ,; pour la DATABASE et ., pour la SESSION
Format de la table cible
Code:
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 |
Auriez-vous des pistes svp, c'est très bizarre.