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

Oracle Discussion :

[PL/SQL] Limitation UTL_FILE


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 4
    Par défaut [PL/SQL] Limitation UTL_FILE
    Bonjour

    Base de Donnees Oracle 9.2.0.1
    Serveur Unix Solaris
    Lors de l'execution de cette procedure en fonction de la taille de la ligne inseree dans le fichier je n'obtiens pas le meme resultat.

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    DECLARE
    	   nomfic  	VARCHAR2(80);
    	   v_file	VARCHAR2(80);
    	   v_rev	VARCHAR2(5);
    	   v_stat	VARCHAR2(10);
    	   stat	VARCHAR2(10);	
    	   prem	VARCHAR2(5);
    	   i	INTEGER := 0;
    	   v_fic	UTL_FILE.FILE_TYPE;
     
     
     
       CURSOR file
       IS
         SELECT distinct dm_file_name, dm_file_rev, dm_file_status_cd
         FROM pdmdm.dm_file_directory
    	 WHERE dm_file_owner_id like '%A400MFE%' AND (dm_file_version = '0' AND NOT dm_file_system_cd like '%D%')
         ORDER BY dm_file_name,dm_file_rev ASC;
    BEGIN
    	OPEN file;
    	v_fic := UTL_FILE.FOPEN('UTL_FILE_TMP','migcatiader','W',[color=red]99[/color]);	
    	FETCH file INTO v_file,v_rev,v_stat;
     
    LOOP
            nomfic := v_file;
            LOOP
                i := i + 1;
                prem := v_rev;
    			stat := v_stat;
                FETCH file INTO v_file,v_rev,v_stat;
                exit when nomfic != v_file or file%notfound;
            END LOOP;
            IF (i) = 1 THEN
                UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
                i := 0;
            END IF;
            IF i = 2 THEN
                UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
                i := 0;
            END IF;
            IF i >= 3 THEN
                UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
               	i := 0;
            END IF;
            exit when file%notfound;
    END LOOP;
    CLOSE file;
    END;
    Est ce qu'un fichier UTL est limite en taille ( nombre de lignes dans le fichier) ?
    Est ce que la taille de la ligne inseree dans le fichier influence le resultat (c'est a dire plus de lignes inserees dans le fichier) ?


    Merci

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Je ne comprends rien à votre problème. D'ailleurs, quel est votre problème ? que voulez-vous dire par "je n'obtiens pas le même résultat ?" quelles sont les différences ?

  3. #3
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    par hasard, vous n'essayeriez pas d'insérer une ligne d'une longueur supérieure à 32 Ko ?

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UTL_FILE.FOPEN('UTL_FILE_TMP','migcatiader','W',99);
    99 est le MAX_LINESIZE alors forcément ça peut changer le comportement

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 4
    Par défaut
    Bonjour

    Chaque fois que je change la taille de la ligne a rajouter au fichier, ce fichier au final est chaque fois de taille differente.
    Ce qui veut dire que le resultat de ma requete n'est jamais le meme.
    Cette requete me permet de faire une liste de fichiers et de les classer en fonction de certains attributs.
    Donc, en changeant la taille de chaque ligne inseree mon resultat n'est pas le meme. Ma liste de fichiers n'est pas fiable.

    Merci

Discussions similaires

  1. [sql]Limiter le nombre de résultats
    Par Mimo dans le forum Oracle
    Réponses: 3
    Dernier message: 31/01/2006, 15h53
  2. sql limit
    Par nsanabi dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 16/12/2005, 19h05
  3. [SQL] Limiter la saisie dans une table
    Par dolphi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/09/2005, 11h43
  4. SQL limit
    Par anzize dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/07/2005, 19h18
  5. fonction sql "LIMIT" en interbase?
    Par GMI dans le forum InterBase
    Réponses: 6
    Dernier message: 20/09/2004, 14h04

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