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

Hibernate Java Discussion :

[blob] comment fait on ?


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut [blob] comment fait on ?
    Bonjour à tous,
    J'essaye de stocker des fichiers important (entre 150 et 400 Ko) dans une table SQL. Le type à utiliser semble être java.sql.Blob
    Comment fait on pour faire une écriture, une lecture de Blob dans une table SQL ?
    Quelqu'un aurait des petits exemples à me proposer ?
    Merci
    Michel

  2. #2
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut

    Le sujet a été traité hier ici

  3. #3
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //parametre : byte[] blob; 
    PreparedStatement pstmt = connexion.getConnexion().prepareStatement("insert into t_table (fichier) values( ?)"); 
        //ajout des parametres 
        pstmt.clearParameters(); 
        pstmt.setBinaryStream( 1, new ByteArrayInputStream(blob) ,blob.length); 
        //execution de la requete 
        pstmt.executeUpdate();
    Exact, merci de me l'indiquer. Je n'avais pas trouvé, et pourtant ça fait déjà un moment que je cherche....
    Par contre, je ne comprends pas tout..
    la variable que tu utilises (blob) est de type java.sql.Blob ??
    Parce qu'en fait je dois utiliser ce type, puisque c'est un type généré par Hibernate.
    Je ne comprends pas le lien entre ta classe PreparedStatement et la classe Blob....

  4. #4
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    Ma variable blob est de type byte[] comme indiqué dans la premiere ligne de commentaire de code.
    Un champs blob en base correspond en faite à un byte[]. Cependant, via hibernate, je ne sais pas s'il y a des contraintes supplémentaires.

  5. #5
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut
    En fait, j'ai trouvé, il faut que je déclare mon Blob comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FileInputStream fis = new FileInputStream(monFichier);
                Blob blob = Hibernate.createBlob(fis);
    Et ensuite je l'affecte au champ de ma table.....
    Ca roule, merci quand même.
    C'était simple, il suffisait de trouver

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    tout dépend comment tu as mappé tes types avec hibernate, de mon coté pour un blob avec hibernate j'ais bien un tableau de byte

  7. #7
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut
    Comme ce sont des fichiers qui sont assez important, entre 150 et 400 Ko, dans SQL Server j'ai choisi le type de données 'Image', et Hibernate a interprété ça en java.sql.Blob !!!
    Reste à voir si, une fois mon fichier écrit dans la table, je peux récupérer ensuite ce fichier....

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

Discussions similaires

  1. [Struts]comment faites-vous pour enregistrer..
    Par pouss dans le forum Struts 1
    Réponses: 7
    Dernier message: 30/09/2005, 12h55
  2. [FB][BLOB] Comment Inserer un Blob (image) dans la base ?
    Par moucrack dans le forum Débuter
    Réponses: 7
    Dernier message: 20/05/2005, 19h01
  3. [IE]Comment fait-on un plug-in ?
    Par le Daoud dans le forum Windows
    Réponses: 2
    Dernier message: 13/04/2005, 18h54
  4. Réponses: 6
    Dernier message: 08/04/2005, 03h00
  5. [light] Comment fait-on une lumiere constante ?
    Par :GREG: dans le forum OpenGL
    Réponses: 2
    Dernier message: 14/03/2004, 17h54

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