bonjour tout le monde,
J'ai une table dont la description est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 create table chargement_prelevement_mandat( prelevement_reference VARCHAR2(16 BYTE), prelevement_iban VARCHAR2(34 BYTE), prelevement_type char(1), prelevement_id_destinataire VARCHAR2(19 BYTE), prelevement_date_echeance date, prelevement_montant_debite NUMBER(14,2), prelevement_date_integration date, prelevement_flag_represent char(1) );
J'ai un fichier de contrôle :
Je souhaite remplir la table via SqlLoader qui va lire un fichier plat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 LOAD DATA INTO TABLE CHARGEMENT_PRELEVEMENT_MANDAT APPEND WHEN (1:2)='03' TRAILING NULLCOLS ( prelevement_reference POSITION(141:156) char(16), prelevement_iban POSITION(43:76) char(34), prelevement_id_destinataire POSITION(21:39) char(19) NULLIF(prelevement_id_destinataire = "0000000000000000000"), prelevement_type POSITION(40:40) char(1), prelevement_date_echeance POSITION(108:115) date "YYYYMMDD" NULLIF(prelevement_date_echeance="00000000"), prelevement_montant_debite POSITION(77:94) decimal, prelevement_date_integration "sysdate", prelevement_flag_represent POSITION(157:157) char(1) )
Le problème que j'ai c'est au niveau du champ : prelevement_montant_debite POSITION(77:94) decimal, je sais pas comment renseigner la valeur dans le fichier text (l'input) que je vais construire pour que SqlLoader l'utilise.
j'ai essaiyé plusieurs format (111111111111,11) et mêm (111111111111.00) mais lorsque je lance SqlLoader (via un batch .sh) j'ai l'erreur suivante :
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Error on table CHARGEMENT_PRELEVEMENT_MANDAT, column PRELEVEMENT_MONTANT_DEBITE. ORA-01460: unimplemented or unreasonable conversion requested
Le problème c'est que lorsque je lance une requête simple (insert into ça passe).
Alors y'a -t- il une format spécifique à mettre dans le fichier plat ou dans le fichier de contrôle?.
Merci d'avance pour votre aide.
Partager