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 :

Driver ne fonctionne pas


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 110
    Points : 58
    Points
    58
    Par défaut Driver ne fonctionne pas
    Bonjour,

    Voici mon problème :

    J'ai créé une application test pour faire des essais de connexion entre ma Base de donnée access et mon code.
    Tout fonctionne.
    voici 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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    package programme_test;
    import java.sql.*;
     
    public class Programme_Test {
     
        static Connection cnx;
        static Statement st;
        static ResultSet rst;
     
     
     
        public static Connection connecterDB() throws ClassNotFoundException, SQLException{
            try{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                String dataSourceName = "BaseDeDonnee" + "";
                String dbURL = "jdbc:odbc:" + dataSourceName;
                Connection cnx =  DriverManager.getConnection(dbURL, "","");
                System.out.println("OK");
                return cnx;  
            }
            catch (Exception err) {
                System.out.println( "Error: " + err );
                return null;
            }
        }
     
        public  static void Ajouter_Image(String file_path,int color_percentage,String centered, int edge_complexity, int level){
            try{
                String query = "INSERT INTO Images VALUES('"+file_path+"',"+color_percentage+",'"+centered+"',"+edge_complexity+","+level+")";
                cnx = connecterDB();
                st=cnx.createStatement();
                st.executeUpdate(query);
                System.out.println("Ajouté");
                st.close();
                cnx.close();
            }
            catch (Exception err) {
                System.out.println( "Error: " + err );
            }
     
     
        }
     
        public static void Supprimer_Image(String path_file){
            try{
                String query = "DELETE FROM Images WHERE path_file=?";
                cnx = connecterDB();
                PreparedStatement ps =cnx.prepareStatement(query);
                ps.setString(1,path_file);
                ps.executeUpdate(query);
                System.out.println("Bien supprimé !");
                st.close();
                cnx.close();
            }
            catch (Exception err) {
                err.printStackTrace();
            }
        }
     
        public static void main(String[] args) throws SQLException{
     
            //Ajouter_Image("path1",65,"non", 80, 3);
            //Supprimer_Image("path1\\CIAO.jpg");
     
            try{
                cnx = connecterDB();
                st=cnx.createStatement();
                rst=st.executeQuery("SELECT * FROM Images");
     
                while(rst.next()){
                    System.out.println(rst.getString("file_path"));
                    System.out.println(rst.getInt("color_percentage"));
                    System.out.println(rst.getString("centered"));
                    System.out.println(rst.getInt("edge_complexity"));
                    System.out.println(rst.getInt("level"));
                }
                rst.close();
                st.close();
                cnx.close();
            }
            catch (Exception err) {
                System.out.println( "Error: " + err );
            }
     
        }
    }
    Maintenant je veux connecter une autre application à cette même base de donnée.
    J'ai donc copié exactement le même code mais ça ne fonctionne pas.
    J'ai mis ma méthode "connecterDB()" dans ma classe et dans un bouton j'ai mis ce 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
     
    try{
                cnx = connecterDB();
                st=cnx.createStatement();
                rst=st.executeQuery("SELECT * FROM images");
     
                while(rst.next()){
                    System.out.println(rst.getString("file_path"));
                    System.out.println(rst.getInt("color_percentage"));
                    System.out.println(rst.getString("centered"));
                    System.out.println(rst.getInt("edge_complexity"));
                    System.out.println(rst.getInt("level"));
                }
                rst.close();
                st.close();
                cnx.close();
            }
            catch (Exception err) {
                err.printStackTrace();
            }
    Et voici la trace :
    java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at applicationvisuelle.App.connecterDB(App.java:546)
    at applicationvisuelle.App.Compare_Squares(App.java:925)
    at applicationvisuelle.App.ShapesButton_Version4(App.java:1770)
    at applicationvisuelle.App.access$1000(App.java:30)
    at applicationvisuelle.App$11.actionPerformed(App.java:1634)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6535)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6300)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4891)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82
    )

    Je précise que ma deuxieme application n'a rien dans son "main" (mis a part l'exécution de ma classe) tandis que dans ma première application j'utilise le mail.
    Est- ce que ce serait ça ?
    Avez-vous une idée ? car le driver fonctionne très bien dans l'autre application...

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Quel version de java tu utilises? puisque JDBC-ODBC a était supprimé dans java 8.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 110
    Points : 58
    Points
    58
    Par défaut
    En effet java 8 :/

    J'essaye avec une version antérieur merci !

    mais c'est bizarre que ça marche pour un programme et pas les autres non ?

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Pourquoi utiliser Access ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 110
    Points : 58
    Points
    58
    Par défaut
    Je n'ai pas le choix c'est pour un stage.

    Merci beaucoup ça marche très bien maintenant

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

Discussions similaires

  1. driver qui ne fonctionne pas sous Vista
    Par dvechamb dans le forum Windows
    Réponses: 0
    Dernier message: 19/09/2009, 16h12
  2. Réponses: 14
    Dernier message: 22/02/2008, 20h01
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 11h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 17h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 01h10

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