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

JDBC Java Discussion :

Insertion image dans mysql = problème


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Points : 77
    Points
    77
    Par défaut Insertion image dans mysql = problème
    Bonjour à tous,

    je développe une petite application Web(JSF) qui a pour but d'insérer une image dans une base de donnée MySql 5.

    J'obtiens l'erreur suivante lorsque je tente de compléter mon PreparedStatement avec un setBinaryStream ou même avec un setBlob.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    java.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
    	at com.imopromet.core.dao.impl.IImageDaoImpl$1.createPreparedStatement(IImageDaoImpl.java:31)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:585)
    	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)
    	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:815)
    	at com.imopromet.core.dao.impl.IImageDaoImpl.insert(IImageDaoImpl.java:24)
    	at test.image.TestInsert.testInsertImage(TestInsert.java:34)
    voici le code qui exécute
    Précisions: le bean Image est une classe perso qui contient des ByteArrayInputStream et la taille des images

    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
    17
    18
     
    public void insert(final Image image,final long idAnnounce) {
    		getJdbcTemplate().update(new PreparedStatementCreator(){
    			@Override
    			public PreparedStatement createPreparedStatement(Connection con)
    					throws SQLException {
    				PreparedStatement ps = null;
                    try{
                        ps = con.prepareStatement("insert into images(image,imageThumb,adsID) values(?,?,?)");
                        ps.setBinaryStream(1, image.getImage(),image.getSizeImage());
                        ps.setBinaryStream(2, image.getImage(),image.getSizeImage());
                        ps.setLong(3, idAnnounce);
                    }catch(SQLException se){
                        se.printStackTrace();
                    }
    				return ps;
    			}			
    		});
    Quelques infos complémentaires
    JSF
    upload de l'image avec apache tomahawk
    Netbeans 6.5
    configuration de la datasource avec Spring

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSourceFactory" destroy-method="close">
    		<property name="driverClassName" value="${dataSource.driverClassName}" />
    		<property name="url" value="${dataSource.url}" />
    		<property name="username" value="${dataSource.username}" />
    		<property name="password" value="${dataSource.password}" />
    	</bean>
    Petite infos supplémentaire, tout le reste fonctionne. je sais insérer d'autres éléments dans ma base, c'est juste le blob qui marche pas.



    Voilà si quelqu'un a une idée d'où cela peut bien provenir.
    A+
    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Points : 77
    Points
    77
    Par défaut
    Salut,
    finalement, j'ai trouvé un contournement à la situation.

    Au lieu d'utiliser les méthodes setBinaryStream ou setBlob, j'utilise setBytes qui fonctionne à merveille.


    J'ai également compris que l'erreur est dûe à une incompatibilité entre différentes librairies... Je chercherai plus tard le pourquoi du comment mais actuellement j'ai pas le temps.


    A bientôt
    Olivier

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par omlip Voir le message
    Salut,
    Je chercherai plus tard le pourquoi du comment mais actuellement j'ai pas le temps.
    Olivier
    Bien sur pas le temps mais ça ira mieux juste aprés la fête pour tes 26 ans

    Joyeux anniversaire au passage

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

Discussions similaires

  1. [OL-2010] Insertion image dans mail endroit indiqué
    Par webosama80 dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 09/07/2015, 12h19
  2. [XL-2003] Problème insertion image dans mail par vba
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2010, 15h23
  3. Insertion de donnée dans mysql : problème d'accent
    Par DonKnacki dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 20/06/2009, 18h44
  4. [PHP 5.0] Insertion image dans une base MySQL
    Par yamyoung dans le forum Langage
    Réponses: 6
    Dernier message: 23/12/2008, 17h36
  5. [Upload] Insertion image dans mysql après upload
    Par alexmorel dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 23h46

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