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

SQL Oracle Discussion :

test existence fichier


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 81
    Points : 77
    Points
    77
    Par défaut test existence fichier
    Bonjour,
    J'aimerais tester, dans ma fonction PL/SQL, si un fichier existe. Attention, le fichier en question se trouve sur un server web indépendant.
    J'ai bien touver la fonction fggetattr du package UTL_FILE qui permet de lire les attributs d'un fichier (voir http://sheikyerbouti.developpez.com/.../?page=Chap8):

    UTL_FILE.FGETATTR(
    repertoire IN VARCHAR2,
    fichier IN VARCHAR2,
    exists OUT BOOLEAN,
    taille_fichier OUT NUMBER,
    taille_bloc OUT NUMBER)

    repertoire représente le répertoire Oracle
    fichier représente le nom du fichier avec son extension
    exists vaut TRUE si le fichier existe, sinon FALSE
    taille_fichier représente la taille du fichier en octets
    taille_bloc représente la taille d'un bloc système en octets
    Mais le problème, c'est que le répertoire doit apparemment être un répertoire Oracle.

    Est-ce que qqun à une solution.

    Merci d'avance.

  2. #2
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    Par défaut
    Peut-être en essayant de récupérer le fichier via UTL_HTTP, puis en gérant l'erreur 404 si le fichier n'existe pas...
    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

  3. #3
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    Par défaut
    Voici un exemple trivial:
    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
    DECLARE
      url      VARCHAR2(256) := 'http://sheikyerbouti.developpez.com/tmp/f6_menus/menudef.mmb';
      username VARCHAR2(256);
      PASSWORD VARCHAR2(256);
      req       UTL_HTTP.REQ;
      resp      UTL_HTTP.RESP;
      NAME      VARCHAR2(256);
      VALUE     VARCHAR2(2000);
    BEGIN
      req := UTL_HTTP.BEGIN_REQUEST(url);
      IF (username IS NOT NULL) THEN
        UTL_HTTP.SET_AUTHENTICATION(req, username, PASSWORD); -- Use HTTP Basic Authen. Scheme
      END IF;
      resp := UTL_HTTP.GET_RESPONSE(req);
      DBMS_OUTPUT.PUT_LINE('response -->' || resp.status_code);  
    END;
    si le fichier existe, la réponse est 200 sinon elle est 404
    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

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 81
    Points : 77
    Points
    77
    Par défaut
    Merci beaucoup, avec HTL_HTTP, c'est tout bon.
    D'après mon premier test, en utilisant un truc du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    req   utl_http.req;
    resp  utl_http.resp;
    ...
    req  := utl_http.begin_request('http://www.monsite.ch/file/pub/files/'||PE_NOMFICHIER);
    resp := utl_http.get_response(req);
    VL_CODE := resp.status_code;
    J'arrive récupérer le code de retour de la requete... donc c'est parfait.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. plantage routine test existence fichier
    Par gaston11 dans le forum Débuter
    Réponses: 3
    Dernier message: 22/01/2013, 19h51
  2. Test existance fichier réseau
    Par microb07 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 12/01/2010, 16h30
  3. [XI] Test existance fichier
    Par dim07 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 07/03/2007, 10h17
  4. test existance Fichier
    Par ons dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 09/02/2007, 16h09
  5. debutante - test existence fichier
    Par coco21 dans le forum Débuter
    Réponses: 9
    Dernier message: 12/02/2006, 12h07

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