Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2005, 17h16   #1
Invité de passage
 
Inscription : juin 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 20
Points : 3
Points : 3
Par défaut [Forms] Afficher une image stockée en base

je n'arrive pas a afficher une image bmp stocker ma table, sachant que ma colonne dans ma table 'etudiants' est de type blob et j'utilise forms 9i et ma procedure :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
PROCEDURE add_blob(p_id NUMBER, p_name VARCHAR2) IS
    v_blob  BLOB;
    v_bfile BFILE;
  BEGIN
    INSERT INTO etudiants(matricule,photo)
    VALUES
      (p_id, empty_blob())
      returning photo INTO v_blob;
      commit;
      v_bfile := bfilename('image','visage.bmp');
     dbms_lob.fileopen(v_bfile);
     dbms_lob.loadfromfile(v_blob, v_bfile, dbms_lob.getlength(v_bfile));
     dbms_lob.fileclose(v_bfile);
  END;
bon lors de l'enregistrement il m'affiche le message suivants:
Citation:
ORA-22285 non-existent directory or file for string operation
malgré que j'ai créée mon repertoire comme ceci avec Sql + :
Code :
1
2
3
 
CREATE directory image AS 'c:\images\';
GRANT READ ON directory image TO users;
et pour afficher l'image j'ai utilisé la procédure suivante :
Code :
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
 
procedure Affiche_Infos_Fichier(PN$Id IN etudiants.matricule%TYPE,p_name VARCHAR2) IS
    v_blob    blob;
    l_amt    number DEFAULT 30;
    l_off   number DEFAULT 1;
    l_raw   raw(4096);
  Begin
     SELECT photo
     INTO   v_blob
     FROM   etudiants
     WHERE  trim(matricule) = trim(PN$Id);
 
     owa_util.mime_header( 'image/bmp' );
     begin
           loop
              dbms_lob.READ( v_blob, l_amt, l_off, l_raw );
              htp.prn( utl_raw.cast_to_varchar2( l_raw ) );
              l_off := l_off+l_amt;
              l_amt := 4096;
           end loop;
        exception
           when no_data_found then 
              NULL;
    end;
end;
[Modération : titre repris par LeoAnderson]
[Modération, Orafrance : Pensez à mentionner le langage dans le titre]
oramine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2005, 08h49   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Bonjour,

j'ai plutôt l'impression que vous avez un souci pour insérer un blob dans la base à partir d'un fichier, non ?

Dans la procédure Add_blob, quelle est l'instruction précise qui provoque l'erreur ?

Leo.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2005, 09h30   #3
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Info supplémantaire qui a peut-être son importance.
les noms de directories sont stockés en majuscules dans la base.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2005, 17h06   #4
Invité de passage
 
Inscription : juin 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 20
Points : 3
Points : 3
bon j'ai corriger ma procedure d'enregistrement de l'image est pue l'enregistrer voici ma procedure :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
PROCEDURE add_blob(p_id NUMBER, p_name VARCHAR2) IS
    v_blob  BLOB;
    v_bfile BFILE;
BEGIN
    INSERT INTO etudiants(matricule,photo)
    VALUES
      (p_id, empty_blob())
      returning photo INTO v_blob;
 
      v_bfile := bfilename(directory =>'BLOBDIR',filename =>'visage.bmp');
      dbms_lob.fileopen(v_bfile);
 
      dbms_lob.loadfromfile(v_blob, v_bfile, dbms_lob.getlength(v_bfile));
 
      dbms_lob.fileclose(v_bfile);
     commit;
END;
mais maintenant j'ais des a afficher mon image par cette procedure càd j'ais pas pus l'afficher!!!
la procedure d'affichage est la suivante :
Code :
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
 
procedure Affiche_Infos_Fichier(PN$Id IN etudiants.matricule%TYPE,p_name VARCHAR2) IS
    v_blob    blob;
    l_amt    number DEFAULT 30;
    l_off   number DEFAULT 1;
    l_raw   raw(4096);
  Begin
     SELECT photo
     INTO   v_blob
     FROM   etudiants
     WHERE  trim(matricule) = trim(PN$Id);
 
     owa_util.mime_header( 'image/gif' );
     begin
           loop
              dbms_lob.READ( v_blob, l_amt, l_off, l_raw );
              htp.prn( utl_raw.cast_to_varchar2( l_raw ) );
              l_off := l_off+l_amt;
              l_amt := 4096;
           end loop;
        exception
           when no_data_found then 
              NULL;
    end;
 
   End ;
oramine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2005, 17h44   #5
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Donc maintenant, l'image est insérée en base, c'est cela ?

et vous n'arrivez pas à la visualiser sous Forms ? vous avez quelle erreur ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2005, 17h46   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Je pense qu'il veut l'afficher sous un navigateur.

il faut qu'il relise l'article d'Helyos sur le sujet.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 10h50   #7
Invité de passage
 
Inscription : juin 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 20
Points : 3
Points : 3
Oui c'est ça j'arrives pas à la visualiser l'image sous Forms , est aucune erreur a été afficher
oramine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 10h57   #8
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Sous Forms ?

vous auriez-pu le dire dès le début
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 11h09   #9
Invité de passage
 
Inscription : juin 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 20
Points : 3
Points : 3
c'est vrai je m'execuse
oramine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 11h40   #10
Membre du Club
 
Homme Ameur
Administrateur de base de données
Inscription : avril 2004
Messages : 81
Détails du profil
Informations personnelles :
Nom : Homme Ameur

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2004
Messages : 81
Points : 56
Points : 56
Envoyer un message via Yahoo à Orameur
le titre du sujet n'été pas assez claire aparament; ajoutez [FORMS] juste au début de titre;



vous voulez visualisez l'image; donc vous êtes sûr qu'elle est stocké?
un execute_query fera l'affaire non? seulment si vos champs de sont pas ataché à la base de donnée
__________________
Oracle c'est pas des Miracles
Orameur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 11h49   #11
Invité de passage
 
Inscription : juin 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 20
Points : 3
Points : 3
est bas oui mes champs ne sont pas liee a la base de donnée
oramine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 12h04   #12
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Vous ne pourrez pas populer un item de type image s'il n'est pas basé.

vous devez donc baser votre item image (et donc le bloc) sur la table qui contient les images.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 14h14   #13
Invité de passage
 
Inscription : juin 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 20
Points : 3
Points : 3
donc je ne peut pas afficher l'image stocker dans la table sauf si le ou bien l'image est liée a la base de données.
merci pour le message
oramine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h47.


 
 
 
 
Partenaires

Hébergement Web