|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Mongi Inscription : février 2003 Messages : 298 ![]() |
Bonjour, je travaille avec WinXP, Forms6i, Oracle 10G
on me demande de développez un interface (un écran) qui permet de parcourir le disque pour sélectionner un fichier "extrait.txt" reçu de la banque contenant un extrait mensuel des opérations bancaires et de le charger directement dans une table dans la base, le fichier est formaté et séparé par des virgules. je vois pas comment procéder. Merci de me guider pour résoudre ce problème. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Mongi Inscription : février 2003 Messages : 298 ![]() |
j'ai créer la table dans la base avec les champs :
Code, Date_opération, Date_valeur, Libelle, Montant, Sens_Opération. le fichier "extrait.txt" est présenter de cette façon. |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
Pour scanner le disque local, il faut utiliser une fonction disponible dans la librairie d2kwutil.pll (win_api_dialog ou quelque chose d'approchant)
ensuite, il faut ouvrir et lire le fichier avec les fonctions du package intégré TEXT_IO, et utiliser, par example la fonction Split() pour extraire les différents tokens de chaque ligne lue.
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Mongi Inscription : février 2003 Messages : 298 ![]() |
Merci beaucoup pour ta réponse.
maintenant j'ai une autre contrainte c'est que chaque banque nous fournit un fichier avec un ordre de champ différent, c à d: Banque A : Code, Date_opération, Date_valeur, Libelle, Montant, Sens. Banque B : Date_opération, Date_valeur, Code, Libelle, Montant, Sens. Banque C : Code, Date_opération, Date_valeur, Libelle, Montant, Sens. Banque E : Date_opération, Date_valeur, Libelle, Montant, Code, Sens. Banque F : Montant, Sens, Code, Date_opération, Date_valeur, Libelle. je sais pas comment différencier ces champs pour les insérer dans leurs champ adéquats dans la tables? |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
Il y a donc un format différent pour chaque source. La différence réside dans l'ordre des colonnes. Ou est le problème ?
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Mongi Inscription : février 2003 Messages : 298 ![]() |
les problèmes est qu'on je lis le fichier texte (parfois même sans entête pour les colonnes) comment je peux mettre chaque ligne dans les champs de la table?
|
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
La fonction Split() que je vous donne dans un précédent message permet de récupérer n'importe quel token par son numéro.
A partir du moment ou vous connaissez l'ordre des champs en fonction de la source c'est facile: source1: ch1,ch3,ch4,ch2 Code :
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
||
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Mongi Inscription : février 2003 Messages : 298 ![]() |
merci bcp,
je procède de cette façon et je te tiens au courant.
|
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Mongi Inscription : février 2003 Messages : 298 ![]() |
Bonjour,
je rencontre une autre ambiguïté, parmi les champs dans une ligne il y'a le champ montant, quand je le lit via la fonction Split il est de type varchar2() quand je l'insert dans la base il me donne une erreur ora-01722. j'ai essayé avec TO_NUMBER(), mais je me retrouve pas? |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
Il faut tracer les valeurs retournées par la fonction split et vérifier l'adéquation entre les symboles décimaux retournés et ceux de la base. ça se trouve, le problème vient du séparateur décimal.
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com