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

 Java Discussion :

enregistrer une image dans base de donnee oracle


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 63
    Par défaut enregistrer une image dans base de donnee oracle
    Bonsoir,

    je vaux enregistrer une image dans la base de donnee et je vaux quelqu'un qui peut m'aider.


    Merciii.

  2. #2
    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
    Merci de chercher dans les cours et tutoriels java mis à disposition par developpez.com

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 63
    Par défaut
    Action performand de boutton ajouter affiche des erreurs
    Le code:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
         String name,chemin;
         FileInputStream input = null;
            JFileChooser fc= new JFileChooser();
            int returnVal = fc.showOpenDialog(this);
     
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = fc.getSelectedFile();
                    //This is where a real application would open the file.
                   name= file.getName() ;
                  chemin= file.getAbsolutePath() ;
     
                try {
                      File monImage = new File(chemin);
                    input = new FileInputStream(monImage);
                } catch (FileNotFoundException ex) {
                    Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
                }
            try {
     
              Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection  cn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:BXL","system","manager");
                PreparedStatement pst=cn.prepareStatement("insert into testimg values(?,?,?)");
            pst.setString(1, tNom.getText());
           pst.setString(2, name);
            pst.setBinaryStream(3, input);
     
                int value=pst.executeUpdate();
                if(value!=0){
                  JOptionPane.showMessageDialog(null, "l'image est enregistrée");
                }
     
     
     
     
            } catch (Exception e) {
                    JOptionPane.showMessageDialog(null, e.getMessage());
            }
     
                        } else {
                    JOptionPane.showMessageDialog(null, "Aucun selection");
                }
    Erreurs:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
            at javaapplication1.test.EnregistrerImageActionPerformed(test.java:146)
            at javaapplication1.test.access$200(test.java:32)
            at javaapplication1.test$2.actionPerformed(test.java:68)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
            at java.awt.Component.processMouseEvent(Component.java:6263)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
            at java.awt.Component.processEvent(Component.java:6028)
            at java.awt.Container.processEvent(Container.java:2041)
            at java.awt.Component.dispatchEventImpl(Component.java:4630)
            at java.awt.Container.dispatchEventImpl(Container.java:2099)
            at java.awt.Component.dispatchEvent(Component.java:4460)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
            at java.awt.Container.dispatchEventImpl(Container.java:2085)
            at java.awt.Window.dispatchEventImpl(Window.java:2475)
            at java.awt.Component.dispatchEvent(Component.java:4460)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

  4. #4
    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
    Quelle version d'Oracle utilises tu, quelle est la version de ton driver?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 63
    Par défaut
    j'utilise Oracle 8i et le driver classes12.jar

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    prend une version plus récente du driver, une qui implémenter les version récentes de jdbc. Les chiffres dans les drivers oracle, correspond à la version de java, pas à la version du driver, en l'occurence, classes12, c'est pour java 1.2 , utilise plutot ojdbc6.jar de chez oracle

  7. #7
    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
    Citation Envoyé par tchize_ Voir le message
    prend une version plus récente du driver, une qui implémenter les version récentes de jdbc. Les chiffres dans les drivers oracle, correspond à la version de java, pas à la version du driver, en l'occurence, classes12, c'est pour java 1.2 , utilise plutot ojdbc6.jar de chez oracle
    l'ojdbc6 c'est pas le driver prévu pour oracle 11 des fois?
    Pour oracle 8 c'est effectivement le classe12 qui traine toujours. Et là, en ce qui concerne les binary streams, de souvenir c'est foutu, oracle n'offre pas le support pour les binary streams qu'à partir d'une version spécifique de l'ojdbc14.

    Donc la première chose à faire est d'aller chercher la toute dernière version du classe12 et de voir le résultat. http://www.oracle.com/technology/sof...s/jdbc817.html

    Bon ensuite tu peux toujours essayer les drivers récents, mais de souvenir le driver thin n'implémentent pas les couches de compatibilité, au contraire des drivers OCI.

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    non il est existe plein de versions du classes12 chez oracle, comme il existe plein de version du ojdbc14 et du ojdbc5 et 6
    la numérotation d'oracle est curieuse. Personellement, je n'ai jamais eu de problème à prendre les drivers récent et à les faire tourner sur une vieille version du serveur oracle. Maintenant je me suis arreté à oracle 9 avec les driver de oracle 11, mais y a pas de raison que oracle 8 soit abandonné

  9. #9
    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
    Citation Envoyé par tchize_ Voir le message
    non il est existe plein de versions du classes12 chez oracle, comme il existe plein de version du ojdbc14 et du ojdbc5 et 6
    la numérotation d'oracle est curieuse. Personellement, je n'ai jamais eu de problème à prendre les drivers récent et à les faire tourner sur une vieille version du serveur oracle. Maintenant je me suis arreté à oracle 9 avec les driver de oracle 11, mais y a pas de raison que oracle 8 soit abandonné
    Cf la page de download d'oracle pour le driver pour la version 8. Le driver associé à la version 8 par oracle est le classe12 (peu importe le numéro de version).

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    comme je l'ai dit, y a une retro compatibilité des driver, j'ai utilisé le 11 sur une oracle 9 pendant longtemps sans aucun soucis. Par contre le classes12 ne dialoguera pas correctement avec un serveur oracle 11

    Sinon, comment réaliserais-t-on une application qui devrais discuter avec deux serveurs oracles de version différente?

    La liste des rétro compatibilités est ici

    http://www.oracle.com/technology/tec...faq.html#02_02

    je cite:
    JDBC 10.2.0 drivers can talk to RDBMS
    11.2.0
    11.1.0
    10.2.0
    10.1.0
    9.2.0
    9.0.1
    8.1.7
    dans le même ordre d'idée:
    Which JDBC drivers support which versions of Javasoft's JDK?
    ........
    10.2.0 OCI and THIN Driver - JDK 1.2.x, JDK 1.3.x, JDK 1.4.x, and JDK 5.0.x
    ........

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/08/2011, 19h16
  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. Réponses: 3
    Dernier message: 09/04/2008, 14h19
  4. Réponses: 3
    Dernier message: 01/07/2006, 11h27
  5. enregistrer une image dans une base mysql
    Par zidenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/04/2006, 08h48

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