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

Développement Web en Java Discussion :

Insertion d'une image dans une base de données Oracle 10g


Sujet :

Développement Web en Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Insertion d'une image dans une base de données Oracle 10g
    bonsoir
    j'ai un probleme au niveau de la sauvegarde et de chargement d'une image a partir d'une base de donnée.l'insertion se fait avec succés mais lors du chargement de cette image a partir de la Base je trouve qu'elle est vide.

    j'ai utilisé le type Blob pour sauvgarder l'image
    ma table est la suivante

    Create table image (
    name varchar2(50),
    img Blob);

    l'insertion se fait avec succés mais lors du chargement de cette image je trouve qu'elle est vide
    le code du sauvegarde et du chargement ci dessous :
    public void sauveIMG(String location, String name) throws Exception
    {
    OracleDataSource ods = null;
    Connection conn = null;
    Statement stmt = null;
    ResultSet rset = null;

    // Create DataSource and connect to the local database

    ods = new OracleDataSource();
    ods.setURL("jdbc:oracle:thin:@//localhost:1521/orcl");
    ods.setUser("SCOTT");
    ods.setPassword("TIGER");
    conn = ods.getConnection();
    File monImage = new File(location);
    FileInputStream istreamImage = new FileInputStream(monImage);
    try
    {
    PreparedStatement ps = conn.prepareStatement("insert into image (name,img ) values (?,?)");
    try
    {
    ps.setString(1, "image");
    ps.setBinaryStream(2, istreamImage, (int) monImage.length());

    ps.executeUpdate();
    }
    finally
    {
    if(rset!=null) rset.close();
    if(stmt!=null) stmt.close();
    if(conn!=null) conn.close();
    ps.close();
    }
    }
    finally
    {
    istreamImage.close();
    }
    }
    ////////////////////////////////////////////////////////
    public void chargeIMG(String name, String location) throws Exception
    { OracleDataSource ods = null;
    Connection conn = null;
    Statement stmt = null;
    ResultSet rset = null;

    // Create DataSource and connect to the local database

    ods = new OracleDataSource();
    ods.setURL("jdbc:oracle:thin:@//localhost:1521/orcl");
    ods.setUser("SCOTT");
    ods.setPassword("TIGER");
    conn = ods.getConnection();
    File monImage = new File(location);
    FileOutputStream ostreamImage = new FileOutputStream(monImage);

    try
    {
    PreparedStatement ps = conn.prepareStatement("select img from image where name=?");

    try
    {
    ps.setString(1,name);
    ResultSet rs = ps.executeQuery();

    try
    {
    if(rs.next())
    {
    InputStream istreamImage = rs.getBinaryStream("img");

    byte[] buffer = new byte[1024*10];
    int length = 0;

    while((length = istreamImage.read(buffer)) != -1)
    {
    ostreamImage.write(buffer, 0, length);


    }
    }
    }
    finally
    {

    rs.close();
    }
    }
    finally
    {
    ps.close();
    }
    }
    finally
    { ostreamImage.flush();
    ostreamImage.close();
    if(rset!=null) rset.close();
    if(stmt!=null) stmt.close();
    if(conn!=null) conn.close();
    }
    }
    l'appelle de ces deux methodes :
    Insert insert = new Insert();
    insert.sauveIMG("C:\\Users\\hp\\Desktop\\EMPID1.BMP", "EMPID1.BMP");
    insert.chargeIMG("image.bmp", "C:\\Users\\hp\\Desktop\\image.bmp");


    merci pour votre aide

  2. #2
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Citation Envoyé par noussa87 Voir le message
    bonsoir
    lors du chargement de cette image a partir de la Base je trouve qu'elle est vide.
    Qu'est ce qui est vide, le ResultSet? Et surtout qu'est ce qui te fait croire que ta sauvegarde à bien été effectuée? Au passage, pour plus de lisibilité et réutilisabilité, tu devrai isoler les paramètres de connexion et la méthode qui va avec. Tu trouvera des pistes ici : http://www.idevelopment.info/data/Pr...leExample.java

    Bon courage,
    Cordialement,
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. enregistrer une image dans ma base de données
    Par beet2che dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/10/2008, 15h56
  3. [MySQL] Insertion d'une image dans une div d'une news
    Par godsilken50 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/05/2007, 16h58
  4. [MySQL] sauver une image dans la base de donnée?
    Par bebas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/05/2007, 11h26
  5. Introduire une image dans la base de données
    Par ghassenus dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/04/2006, 10h09

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