Java - Connexion MySQL

Java - Connexion MySQL - Java - Programmation

Marsh Posté le 09-04-2004 à 10:48:24    

Bonjour,
 
Etant novice en matière de développement Java, j'ai une question qui vous semblera certainement stupide !
 
Je n'arrive pas à me connecter à ma base de données MySQL (mysql 3 sur serveur Red Hat 8).
 
Voici mon code :
 

Citation :

import java.sql.*;
import java.io.*;
import java.lang.*;
...
public static void main(String[] args) {
    Connection conn = null;
    try {
      Class.forName("org.gjt.mm.mysql.Driver" );
      conn = DriverManager.getConnection("jdbc:192.168.1.3", "root", "" );
      conn.close();
      System.out.println("Connexion réussie" );
    }
    catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    catch (SQLException e) {
      e.printStackTrace();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }


 
L'erreur rencontrée est la suivante :
java.sql.SQLException: No suitable driver
 
1) Quel driver dois-je utiliser ?
2) Le serveur contient plusieurs bases de données. Comment sélectionner ensuite sélectionner une base de données appelée par exemple dbIntranet ?
3) Est-ce que je dois également indiquer un numéro de port ?
 
Merci d'avance ...  :)  

Reply

Marsh Posté le 09-04-2004 à 10:48:24   

Reply

Marsh Posté le 09-04-2004 à 11:02:52    

Est ce que le driver JDBC de mysql est dans ton classpath?

Reply

Marsh Posté le 09-04-2004 à 11:10:23    

Oui, j'ai copié le jar mysql-connector-java-3.0.9-stable-bin.jar dans JBuilder9/lib/ext/
 
J'ai modifié mon code. Je n'ai plus la même erreur mais une autre qui me dit : java.io.IOException: Unexpected end of input stream
 
Voici mon code :
 

Code :
  1. Connection conn = null;
  2.     try {
  3.       Class.forName("org.gjt.mm.mysql.Driver" );
  4.       String serverName = "192.168.1.3";
  5.       String mydatabase = "test";
  6.       String url = "jdbc:mysql://" + serverName +  "/" + mydatabase;
  7.       String username = "root";
  8.       String password = "";
  9.       conn = DriverManager.getConnection(url, username, password);
  10.       conn.close();
  11.       System.out.println("Connexion réussie" );
  12.     }
  13.     catch (ClassNotFoundException e) {
  14.       e.printStackTrace();
  15.     }
  16.     catch (SQLException e) {
  17.       e.printStackTrace();
  18.     }

Reply

Marsh Posté le 09-04-2004 à 11:15:56    

Citation :


j'ai copié le jar mysql-connector-java-3.0.9-stable-bin.jar dans JBuilder9/lib/ext/  


 
[:totoz]

Reply

Marsh Posté le 09-04-2004 à 11:28:16    

DarkLord a écrit :

Citation :


j'ai copié le jar mysql-connector-java-3.0.9-stable-bin.jar dans JBuilder9/lib/ext/  


 
[:totoz]


 
Euhhhh, on dirait que j'ai dit une connerie !
Comment on fait alors pour mettre mon jar mysql-connector dans mon classpath ?
 
Merci de répondre à ma question idiote !  :heink:

Reply

Marsh Posté le 09-04-2004 à 11:55:56    

Après consultation d'un message du forum,
je suis allé dans le menu Outils>Configurer les JDK> de JBuilder.
 
J'ai cliqué sur Ajouter et je suis donc allé chercher le mysql-connector.jar.
 
Et là, ça ne marche toujours pas ! Même erreur.
 
J'ai testé en mettant un serveur qui n'existe pas style "totooooo" et là, JBuilder me met une autre erreur ! J'en conclue qu'il reconnait ma ***** d'adresse 192.168.1.3 ! Vous avez une idée du pb ?

Reply

Marsh Posté le 09-04-2004 à 13:08:54    

jbuilder [:spamafote]

Reply

Marsh Posté le 09-04-2004 à 13:11:23    

si tu le met en local, pourquoi pas mettre localhost dans ton URL ??


---------------
IVG en france
Reply

Marsh Posté le 09-04-2004 à 13:16:20    

oui ou 127.0.0.1 si jamais ca prend pas les noms dns, ce dont je doute qd même :D


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 09-04-2004 à 14:27:29    

uriel a écrit :

si tu le met en local, pourquoi pas mettre localhost dans ton URL ??  


 
Je suis d'accord avec toi ! Mais pour l'instant, je fais mes tests en local, mais plus tard, la base sera en ligne, et je devrais y accéder depuis un Palm, .... donc plus de localhost  :whistle:

Reply

Marsh Posté le 09-04-2004 à 14:27:29   

Reply

Marsh Posté le 09-04-2004 à 14:30:41    

A priori il dit qu'il trouve pas le driver donc :
- soit ton url de connexion est pas bonne (le jdbc:mysl:...., tu en es sur ?)
- soit la lib est pas trouvée. Mais dans ce cas là tu devrais te prendre une ClassNotFoundException.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 09-04-2004 à 14:42:59    

Citation :


j'ai modifié mon code. Je n'ai plus la même erreur mais une autre qui me dit : java.io.IOException: Unexpected end of input stream


 
il me dit [:kiki]
poste l'erreur complète


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2004 à 17:10:05    

d'ailleurs laisse moi te dire que je trouve ton driver assez louche, tu as pas pris les drivers sur le site de MySQl parce que moi j'ai ca comme classe: com.mysql.jdbc.Driver :??:
 
edit: et l'URL de connectino est la meme pourtant


Message édité par uriel le 09-04-2004 à 17:10:53

---------------
IVG en france
Reply

Marsh Posté le 09-04-2004 à 18:19:53    

c'est le nouveau driver et c'est juste un alias vers l'ancien pour etre compliant avec jdbc

Reply

Marsh Posté le 09-04-2004 à 18:22:09    

ok :jap:


---------------
IVG en france
Reply

Marsh Posté le 13-04-2004 à 09:14:12    

darklord a écrit :


poste l'erreur complète


 
Désolé pour le retard ! Mais j'étais en week end alors voilà koi  :na:  
 
Je remets le code complet :
 

Code :
  1. public static void main(String[] args) {
  2.     Connection conn = null;
  3.     try {
  4.       Class.forName("org.gjt.mm.mysql.Driver" );
  5.       String serverName = "192.168.1.3";
  6.       String mydatabase = "test";
  7.       String url = "jdbc:mysql://" + serverName +  "/" + mydatabase;
  8.       String username = "root";
  9.       String password = "";
  10.       conn = DriverManager.getConnection(url, username, password);
  11.       conn.close();
  12.       System.out.println("Connexion réussie" );
  13.     }
  14.     catch (ClassNotFoundException e) {
  15.       e.printStackTrace();
  16.     }
  17.     catch (SQLException e) {
  18.       e.printStackTrace();
  19.     }
  20.   }


 
et voici l'erreur :
 

Code :
  1. java.sql.SQLException: Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream
  2. ** BEGIN NESTED EXCEPTION **
  3. java.io.IOException
  4. MESSAGE: Unexpected end of input stream
  5. STACKTRACE:
  6. java.io.IOException: Unexpected end of input stream
  7. at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1267)
  8. at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:510)
  9. at com.mysql.jdbc.Connection.createNewIO(Connection.java:1734)
  10. at com.mysql.jdbc.Connection.<init>(Connection.java:562)
  11. at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:361)
  12. at java.sql.DriverManager.getConnection(DriverManager.java:512)
  13. at java.sql.DriverManager.getConnection(DriverManager.java:171)
  14. at mySQLConnection.main(mySQLConnection.java:20)
  15. ** END NESTED EXCEPTION **
  16. at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1293)
  17. at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:510)
  18. at com.mysql.jdbc.Connection.createNewIO(Connection.java:1734)
  19. at com.mysql.jdbc.Connection.<init>(Connection.java:562)
  20. at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:361)
  21. at java.sql.DriverManager.getConnection(DriverManager.java:512)
  22. at java.sql.DriverManager.getConnection(DriverManager.java:171)
  23. at mySQLConnection.main(mySQLConnection.java:20)


 
RE merci d'avance !  :wahoo:

Reply

Marsh Posté le 13-04-2004 à 14:40:06    

C'est bon, j'ai réussi à faire marcher le tout !
En fait, j'ai installé EasyPHP 1.7, et là ça fonctionne. J'en déduis que le pb devait venir de la version de MySQL un peu trop ancienne ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed