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] create directory


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 22
    Points
    22
    Par défaut [PL/SQL] create directory
    Salut,
    Afin d'inserer une image dans un champ blob d'une base de données j'ai utilisé le script suivant:
    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
    CREATE TABLE blobs ( id VARCHAR2(255), blob_col BLOB ); 
    CREATE OR REPLACE DIRECTORY bdir AS 'c:\temp'; 
    CREATE OR REPLACE PROCEDURE insert_img AS 
    f_lob bfile; 
    b_lob blob; 
    BEGIN
    INSERT INTO blobs VALUES ( 'MyGif', empty_blob() ) 
    RETURN blob_col INTO b_lob; 
    f_lob := bfilename( 'BDIR', 'mld.png' ); 
    dbms_lob.fileopen(f_lob, dbms_lob.file_readonly); 
    dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength(f_lob) ); 
    dbms_lob.fileclose(f_lob); 
    END; 
    /
    La version d'oracle que j'utilise est la 9i
    Le probleme c'est que suite à la création du repertoire:
    "CREATE OR REPLACE DIRECTORY bdir AS 'c:\temp'; "
    aucun repertoire bdir n'apparait dans le c:\temp du serveur.
    Sachant que je travaille directement sur le serveur en utilisant le sqlplus d'oracle, faut il créer le repertoire à la main et y ajouter l'image?
    Merci de votre aide
    Marwa

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Cette commande ne permet pas de créer le répertoire sur le disque mais de le déclarer dans Oracle afin qu'il soit visible dans la base

  3. #3
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Bonjour

    C'est normal que le repertoire bdir n'apparait dans le c:\temp du serveur.

    bdir sera comme un alias et il est connu que par Oracle et non pas pas l'OS

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 22
    Points
    22
    Par défaut
    Merci pr vos réponses
    ok, la je comprend mieux
    et ou est ce que je dois mettre l'image pr qu'il puisse la trouver et l'inserer dans la table?

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 22
    Points
    22
    Par défaut erreur:file or LOB operation FILEOPEN failed
    quand j'execute la procedure j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ORA-22288: file or LOB operation FILEOPEN failed
    The system cannot find the file specified.
    ORA-06512: at "SYS.DBMS_LOB", line 504
    ORA-06512: at "SYS.INSERT_IMG", line 8
    ORA-06512: at line 2
    Je ne comprends pas pourquoi il ne trouve pas le fichier.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 22
    Points
    22
    Par défaut [résolu]
    mon erreur venait du fait que j'indiquait le repertoire c:\tmp\bdir et il aurait fallu mettre directement c:\
    Voila
    Merci de m'avoir éclairé

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

Discussions similaires

  1. [Administration] [import] svn: Can't create directory (...) : Permission denied
    Par vincent_17 dans le forum Subversion
    Réponses: 0
    Dernier message: 09/09/2008, 11h15
  2. [PL/SQL] Create table dans un trigger
    Par CrazyLiam dans le forum PL/SQL
    Réponses: 9
    Dernier message: 11/12/2007, 13h49
  3. [Sql] Create table
    Par Jerem76 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/07/2005, 17h42
  4. [ORACLE] Create Directory et droit
    Par shaun_the_sheep dans le forum Administration
    Réponses: 2
    Dernier message: 02/11/2004, 09h52

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