Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA] Se connecter à une BDD MySQL

a partir de Jbuilder 9

    16 juin 2006 à 9:15:02

    Salut les zéros!

    Alors voila j'ai un ptit code en java qui me permet (normalement...) de me connecter à une base de données MySQL...mais ca ne marche pas...
    Pourtant j'ai telechargé des pilotes JDBC...Mon erreur se trouve certainement dans la facon d'installer ses drivers ou encore de paramétrer Jbuilder, afin que mon code utilise bien ces drivers!
    Voici le code :

    package toto;

    import java.sql.*;

    public class connection {
      public static void main(String[] args) {
        String pilote = "com.mysql.jdbc.Driver";
        try {
          Class.forName(pilote);
          Connection connexion = DriverManager.getConnection(
              "jdbc:mysql://xxxx/killer", "root", "");
          System.out.println("---------------------------");
          Statement instruction = connexion.createStatement();
          ResultSet resultat = instruction.executeQuery("SELECT * FROM personne");
          while (resultat.next()) {

            System.out.println("---------------------------");
            System.out.println("Nom : " + resultat.getString("nom"));
            System.out.println("Prénom : " +
                               resultat.getString("prénom"));
            System.out.println("age: " + resultat.getString("age"));
          }
        }
        catch (Exception e) {

          System.out.println("echec pilote : " + e);
        }

      }
    }


    Voici l'erreur que j'obtiens :

    Citation : Jbuilder 9

    echec pilote : java.lang.ClassNotFoundException: com.mysql.jdbc.Driver



    Sauriez vous comment faire pour configurer Jbuilder afin qu'il se connecte a ma Base de données?

    Question subsidiaire :
    Dans le code j'écris :

    Connection connexion = DriverManager.getConnection(
              "jdbc:mysql://xxxx/killer", "root", "");

    xxxx est l'adresse de la machine sur laquelle se trouve la base de données...
    et killer est le nom de la base de données...Est ce bien l'endroit ou je doit mettre le nom de la base de données?
    • Partager sur Facebook
    • Partager sur Twitter

    Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)

      16 juin 2006 à 9:44:29

      Tu n'as probablement pas indiqué à JBuilder où se trouve ton package contenant com.mysql.jdbc.Driver

      Il y a sûrement un endroit dans ce programme où déclarer des packages étrangers. Sinon, tu peux modifier ton CLASSPATH de façon à ce que ton package soit reconnu (même principe que le PATH).

      Le compilateur cherche les classes et package dans le répertoire d'installation, le répertoire courant et les répertoires désignés par le CLASSPATH.

      Pour ta question subsidiaire : Je n'ai jamais fait ce genre de chose mais d'après mon livre, quand on veut passer par un pont ODBC (Windows only), il faut faire :


      Connection ct = DriverManager.getConnection("jdbc:odbc:SOURCE", "USER", "PWD");


      où SOURCE est la base de données, USER l'utilisateur et PWD le mot de passe. Le système d'instruction est semblable à ce que tu as mis.

      J'espère que ca peut t'aider. A noter que toutes les méthodes appelées qui concerne les bdd lancent des SQLException. C'est plus fin que les Exception que tu interceptes.
      • Partager sur Facebook
      • Partager sur Twitter
        16 juin 2006 à 9:51:16

        Merci pour ta réponse SuperMat!
        ok j'ai résolu une partie du probleme :
        Jbuilder prend bien en compte les drivers MySql que je lui ai installé...

        Par contre aprés mon probleme est d'une autre nature :
        Ma BDD se trouve sur mon ordi chez moi (et la je suis au boulot...)
        j'ai un NO-IP sur mon PC chez moi, ainsi que easyphp qui tourne...oui je sais c'est bourrin mais c'est juste pour tester!
        Maintenant quand je lance mon "programme" j'obtiens cette erreur :

        Citation : Jbuilder


        MESSAGE: java.net.ConnectException: Connection timed out: connect
        STACKTRACE:
        java.net.SocketException: java.net.ConnectException: Connection timed out: connect
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
        at com.mysql.jdbc.Connection.<init>(Connection.java:452)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
        at java.sql.DriverManager.getConnection(DriverManager.java:512)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at commence.main(commence.java:12)
        ** END NESTED EXCEPTION **



        Dans l'attente d'une réponse je teste ta solution SuperMat...encore merci!
        • Partager sur Facebook
        • Partager sur Twitter

        Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)

        [JAVA] Se connecter à une BDD MySQL

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown