Précédent   Forum des professionnels en informatique > Java > Général Java
Général Java Java SE, Java ME, APIs, Persistance, JDBC, Spring, XML. Avant de poster -> FAQ Java, Sources Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 07/09/2010, 04h45   #1
Candidat au titre de Membre du Club
 
toto amicizia
Inscription : juillet 2010
Messages : 69
Détails du profil
Informations personnelles :
Nom : toto amicizia

Informations forums :
Inscription : juillet 2010
Messages : 69
Points : 13
Points : 13
Par défaut Connexion JDBC Mysql

Salut


Je veux connecter une application java à une base de données sous Mysql mais malheureusement j'ai une erreur

Code :
java.sql.SQLException: null,  message from server: "Host 'chafik' is not allowed to connect to this MySQL server"
bon voile le code que j'ai fait

Code :
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
 ok.addActionListener(new ActionListener() {
            	 public void actionPerformed(ActionEvent e) {
            	 // Cette méthode ne sera appelée que pour les évènements sur le bouton monBouton.
 
            		        // chaine de connexion
            				final String url = "jdbc:mysql://chafik/rescue"; 
            		     	Connection con = null; 
            		     	Statement requete = null;
            		     	ResultSet resultat1 = null;
 
             				boolean trouv = false;
             				try {
            		     		Class.forName("com.mysql.jdbc.Driver").newInstance();
            		     	    con = DriverManager.getConnection(url,"root","amine");
 
            		     		// création de la rquête
            		     		// exécution de la requête
            		     		resultat1 = requete.executeQuery("select * from Client"); 
 
 
            		     		//String Numclient = "",Nomclient = "", Ntelclient = "";
            		     		// tant qu'il y a des résultats et que l'on a pas trouvé l'utilisateur 
            		     		while (resultat1.next() && trouv == false) {
            		     			// récupération des identifiants de connexion
            		     		 Nmclient = resultat1.getString(1);
            		     		 Nomclient= resultat1.getString(2);
            		     		 Prenomclient=resultat1.getString(3);
            		     		 Address= resultat1.getString(4);
            		     		 Ntelclient = resultat1.getString(5);
            		     		 Ntelmobile=resultat1.getString(6);
            		     		 Emailclient=resultat1.getString(7);
 
 
 
          if  (( Nclient.getText().compareTo(Nmclient) ==0) || (( Nomc.getText().compareTo(Nomclient) ==0)&&(Prec.getText().compareTo(Prenomclient) ==0)) || ( Ntel.getText().compareTo(Ntelclient) ==0)) {
 
            		     				trouv = true;
 
            		     				// Labeltest.setText(Numclient+ Nomclient + Ntelclient);
 
            		     				Fclient Fclient = new Fclient();
            		     				Fclient.setVisible(true);
            		    		     	dispose();
 
 
            		     			} // fin if
            		     		} // fin while
 
            		     		// une fois que l'on a parcouru tous les utilisateurs
            		     		// si on ne l'a pas trouvé, on affiche un message
            		     		if (trouv == false) 
                 					JOptionPane.showMessageDialog(null,"Utilisateur non trouvé!!!" );
             				} catch (ClassNotFoundException e1) {
            		     		// TODO Auto-generated catch block
            		     		e1.printStackTrace();
            		     	} catch (SQLException e2) {
             					// TODO Auto-generated catch block
             					e2.printStackTrace();
             				} catch (Exception e3) {
             					e3.printStackTrace();
             				}
 
             				finally { 
            					try {con.close();
            					   requete.close();
            					   resultat1.close();
            					} 
            					catch(final SQLException e1) {e1.printStackTrace();} 
            				} 
 
            			}
 
            		});

j'utilise le user root avec le mode de passe amine

chafik c'est le nom de mon poste et rescue c'est le nom de ma base

merci de m'aider le problème ici c'est un problème de connexion d'une application java avec une base de donnée en Mysql
patriot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2010, 14h22   #2
Membre Expert
 
Avatar de wax78
 
Homme Renaud Warnotte
Développeur Java
Inscription : août 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Renaud Warnotte
Âge : 31
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2006
Messages : 871
Points : 1 343
Points : 1 343
Envoyer un message via MSN à wax78
On dirait un probleme de droit du cote du serveur mysql. Il existe une table [db:mysql] qui contient la liste des user/mdpasse. Mais il y'a aussi une colonne qui porte sur le host du client. (HostB/User). Cela permet de dire qui peut venir ou pas et surtout d'ou (de quelle ip). Je miserai la dessus en tout cas.

(Cf : "Host 'chafik' is not allowed to connect to this MySQL server")

Dernière modification par wax78 ; 08/09/2010 à 15h13.
wax78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2010, 18h17   #3
Candidat au titre de Membre du Club
 
toto amicizia
Inscription : juillet 2010
Messages : 69
Détails du profil
Informations personnelles :
Nom : toto amicizia

Informations forums :
Inscription : juillet 2010
Messages : 69
Points : 13
Points : 13
Salut

c'est bon je l'ai resolu.

le problème vient du port que j'ai pas précisé et au lieu de mettre le nom de ma machine il fallait mettre hostlocal

alors si tu remplaces le lien ci-dessous avec l'ancien lien ca va marcher

Code :
	  final String url = "jdbc:mysql://localhost:3306/rescue";

patriot est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/09/2010, 09h10   #4
Membre Expert
 
Avatar de wax78
 
Homme Renaud Warnotte
Développeur Java
Inscription : août 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Renaud Warnotte
Âge : 31
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2006
Messages : 871
Points : 1 343
Points : 1 343
Envoyer un message via MSN à wax78
En effet localhost est generalement accepté par defaut, bien vu
wax78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 18h37.


 
 
 
 
Partenaires

Hébergement Web