Connection java mysql

enisonienne Messages postés 10 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 - 20 janv. 2010 à 11:57
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 21 janv. 2010 à 08:04
Bonjour,
je veux récupérer le contenu d'une table MYSQL.
j'utilise
*eclipse3.2(+myeclipse workbench5.0)
*mysql-connector-java-3.0.6-stable-bin.jar.
*pour mysql : easyphp1.8

j'ai installé le jdbc driver et il est fonctionnelle et afin de tester ça j'ai executé le code ci dessous mais qui se bloque à l'étape de connexion.
Si je met quelque chose fausse (par exemple : une autre addresse du port ou bien).
à mon avis il ne connait pas la base des données que j'ai crée sur mysql et que j'ai appélé test. car quoi que je met à sa place ikl répond de la même manière.
Peut être j'ai oublié une étape. pour assurer que l'eclipse au cour de l'execution connais la base de donnée desgné.

Merci d'avance pour votre aide et bonne journée à tous le monde.

La fonction de connexion::




// Connexion à la base de donnees
private void connexion ()
{
try
{
// Chargement des drivers SQL
Class.forName ("com.mysql.jdbc.Driver").newInstance();
System.out.println ("Driver good");
}
catch (ClassNotFoundException a)
{
System.out.println ("Driver non trouve");
}
catch (Exception b)
{
System.out.println ("Problème sur chargement de driver JDBC");
}

try{
System.out.println ("Connexion attente");
//Etablissement de la connexion avec la base

connection = DriverManager.getConnection("jdbc:mysql://localhost:80/test?user=root&password=");

if(!connection.isClosed())
System.out.println("Successfully connected to MySQL server using TCP/IP...");
else{System.out.println("Poor manel");}
}
catch (SQLException c)
{
System.out.println ("Connexion refuse ou base inconnu"+c.getMessage());
}
catch (Exception d)
{
System.out.println ("Problème sur connexion"+d.getMessage());
}
}

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 janv. 2010 à 12:19
Salut,

C'est à quelle étape au juste qu'il plante ?

Est-ce qu'il trouve le driver JDBC ?

Sinon, à moins d'avoir configuré le port 80 au niveau de ton serveur mysql (ce qui serait absurde, étant donné que c'est le port pour internet...), le port à utiliser est le port par défaut : 3306, donc :
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=");


Sinon, un truc qui me chiffone : pourquoi installer un serveur PHP pour utiliser une base de données MySQL ??? Je comprendrais jamais pourquoi vous êtes autant à installer easyPHP juste pour avoir un serveur MySQL

C'est pourtant bien plus facile d'installer uniquement le serveur MySQL de sun, et les outils graphiques qui vont bien pour pouvoir l'administrer bien plus facilement qu'avec easyPHP !
______________________________________
DarK Sidious
0
enisonienne Messages postés 10 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010
20 janv. 2010 à 13:56
Bonjour,
Merci Dark Sidious pour ta réponse.

je pense qu'il se bloque au niveau de la connexion. car il affiche le message qui se trouve juste avant. et il ignore le reste en plus je vois sur l'eclipse qu'il n'a pas fini ses traitement.
ici==>connection = DriverManager.getConnection("jdbc:mysql://localhost:80/test?user=root&password=");

j'ai utilisé le easyphp parcequ'il est deja installé sur mon pc. et il utilise le port 80par défaut. ça pour ta deuxième question.

Je me demande comment il peux connaitre les bases des données deja crée sur un serveur mysql de mon pc. c'est ce qui me gène trop à cette étape la.

Merci,
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 janv. 2010 à 14:06
Salut,

Es-tu bien sûr pour le port de MySQL ? Car s'il est configuré sur le port 80, alors dès que le serveur est lancé, il doit intercepter les requêtes http envoyées par ton navigateur en local...

Tu es sûr que ce n'est pas le port du serveur apache d'easyPHP qui est configuré pour écouter sur le port 80 plutôt ? Si tu n'a rien touché à la configuration du serveur MySQL, il est censé écouter sur le port 3306. Le port apache quand à lui est configuré par défaut sur le port 80, ce qui est logique : c'est le port pour les requêtes http.


Je me demande comment il peux connaitre les bases des données deja crée sur un serveur mysql de mon pc.

C'est toi qui lui indique le nom de la base de données à utiliser dans ta requête : jdbc:mysql://localhost:3306/test
?user=root&password=

Le connector JDBC ne fait qu'interroger le serveur MySQL, c'est le serveur MySQL qui sait quelles sont les bases qu'il stocke.
______________________________________
DarK Sidious
0
enisonienne Messages postés 10 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010
21 janv. 2010 à 07:33
Bonjour,
Au debut c'étais:
connection = DriverManager.getConnection("jdbc:mysql://localhost:80/test?user=root&password=");

et je reçoit:
Driver good
Connexion attente
> et l'execution n'a pas encore fini.



et en changeant par:
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=");


je reçois le message suivant:
Driver good
Connexion attente
Connexion refuse ou base inconnuCommunication link failure: Mauvais 'handshake'
> et l'execution est terminé.


Merci,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 janv. 2010 à 08:04
Salut,

Après une petite recherche sur le net, il semblerait que cette erreur vienne d'un problème de version entre ton connector MySQL et la version de la base de données : si ta base de données est trop ancienne par rapport au connector MySQL, c'est le genre de message d'erreur qui se produit apparemment.

Tu devrais essayer en installant un serveur MySQL plus récent pour voir.
______________________________________
DarK Sidious
0
Rejoignez-nous