IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

chargement de données depuis un fichier texte


Sujet :

Administration Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut chargement de données depuis un fichier texte
    Avec Oracle Forms,j'ai un boutton qui, quand on clique dessus,
    va lire un fichier .txt (avec GET_LINE dans une boucle LOOP pour lire toute les lignes) qui contient des données et va les inserer dans une table temporaire.
    Le problème est que lors du clique, le programme va fonctionner indefinnement
    (rien ne se passe) et il y'à une petite barre noire tout en-bas qui va et vient.
    C'est comme si leprogramme est dans une boucle infini et de plus,qui ne lit pas
    les lignes.

    voici le code:
    DECLARE
    LF$FicIN UTL_FILE.FILE_TYPE ;
    LC$Dir_in Varchar(30) := 'FICHIERS_IN';
    LC$Ligne Varchar2(32767) ;
    BEGIN
    LF$FicIN := UTL_FILE.FOPEN( LC$Dir_in, 'file.txt', 'R', 32764 ) ;
    LOOP
    UTL_FILE.GET_LINE( LF$FicIN, LC$Ligne ) ;
    Insert into compteur Values (split(LC$Ligne,2,';'),split(LC$Ligne,3,';'),split(LC$Ligne,4,';'),split(LC$Ligne,5,';'),split(LC$Ligne,6,';')) ;
    END LOOP;
    commit;
    END;

    Avec la fonction SPLIT, le premier argument la chaîne de caractère (ex: 123-456-789), le deuxième argument la position de la partie souhaitée (ex : 1 donnera 123, 2 donnera 456, et 3 donnera 789), le troisème argument PC$Sep le séparateur.
    (cette fonction fonctionne correctement)

    Et j'ai déjà fait le FICHIERS_IN avec:
    CREATE DIRECTORY FICHIERS_IN AS 'c:\fichiers\in' ;
    GRANT READ ON DIRECTORY FICHIERS_IN TO PUBLIC ;

    Le fichier file.txt contient des données comme suit:
    compteur;1;11;111;1111;demi-tarif
    souscompteur;3;1;33;333;plein-tarif

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    .... manquerait pas le traitement de l'exception fin de fichier :
    et un code délimité par les balises ce n'est pas mal non plus .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception
         When NO_DATA_FOUND Then -

    http://sheikyerbouti.developpez.com/pl_sql/?page=Chap8



    CDLT.

Discussions similaires

  1. Importer des données depuis un fichier texte
    Par Tofalu dans le forum Contribuez
    Réponses: 1
    Dernier message: 28/07/2013, 10h55
  2. Réponses: 1
    Dernier message: 10/07/2012, 16h31
  3. [AC-2003] Importer des données depuis un fichier texte
    Par Piedbaguette dans le forum Modélisation
    Réponses: 21
    Dernier message: 07/07/2011, 18h23
  4. [XL-2003] lecture de données depuis un fichier texte
    Par anthodub dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/06/2011, 11h33
  5. extraire des données depuis un fichier text
    Par marouene_ dans le forum Général Java
    Réponses: 1
    Dernier message: 22/06/2011, 00h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo