C# Problème avec la chaîne de connexion à la base de données

Résolu
cocodu67... Messages postés 3152 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 5 janvier 2023 - Modifié par cocodu67... le 16/05/2014 à 10:37
cocodu67... Messages postés 3152 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 5 janvier 2023 - 17 mai 2014 à 09:38
Bonsoir

Afin de faciliter l'utilisation de mes application j'ai créé un bouton Configuration qui ouvre une Form où se trouvent des textBox afin de renseigner divers paramètres.

Lors du clique sur le bouton Valider, le code suivant est exécuté :

http://cjoint.com/14mi/DEpv06a0dpR.htm

http://cjoint.com/14mi/DEpv1fZuZk6.htm

J'ai un problème avec ma chaîne de connexion.

public static string sIPServeurMySQL, sBD, sID, sMdp;
public static MySqlConnection maConnexion = new MySqlConnection("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");


Cela devrait fonctionner avec mon code, puisque j'attribue les valeurs avec FormAdminEleve. nom de la variable

J'ai essayé :

public static string sIPServeurMySQL, sBD="bdlycee", sID="jeremy", sMdp="iris2";
public static MySqlConnection maConnexion = new MySqlConnection("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");


et cela fonctionne alors qu'avec la première version donnée 10 lignes plus haut cela ne fonctionne pas, pourtant avec la première version les valeurs sont affectées et ça se voit lorsque je fais
MessageBox.Show("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");
avec la première version.

Directement sous le code

FormAdminEleve.sIPServeurMySQL = textBoxIPServeurMySql.Text;
FormAdminEleve.sEmplacementImages_projet = textBoxEmplacementImages_projet.Text;
FormAdminEleve.sEmplacementHistorique = textBoxEmplacementHistorique.Text;
FormAdminEleve.sEmplacementPhotos = textBoxEmplacementPhotos.Text;
FormAdminEleve.sEmplacementPhotos_temp = textBoxEmplacementPhotosTemp.Text;
FormAdminEleve.sID = textBoxIdBD.Text;
FormAdminEleve.sMdp = textBoxMdpBD.Text;


J'ai placé une MessageBox afin de voir la chaîne de caractère, au dessus c'est en affichant directement les valeurs de mes textBox et en les insérant dans la chaîne et dessous c'est en prenant les valeurs affectées aux variables de Form1 avec le code qui se trouve 5 lignes au dessus.
Vous constatez que c'est pareil : http://cjoint.com/14mi/DEqkITmyJPp.htm
(j'ai rajouté les tirets afin de séparer les 2 façons de récupérer les valeurs)

Le code de la MessageBox :

MessageBox.Show("Server=" + textBoxIPServeurMySql.Text + ";Database=" + textBoxNomBD.Text + ";Uid=" + textBoxIdBD.Text + ";Pwd=" + textBoxMdpBD.Text + ";" + "---------  Server=" + FormAdminEleve.sIPServeurMySQL + ";Database=" + FormAdminEleve.sBD + ";Uid=" + FormAdminEleve.sID + ";Pwd=" + FormAdminEleve.sMdp + ";");


J'ai alors enlevé le try catch dans une requête afin de voir ce que ça donne et ça m'a mis :

Authentication to host '' for user '' using method 'mysql_native_password' failed with message: Access denied for user ''@'fe80::9934:7035:49b2:829e%11' (using password: NO)

Comment est-ce possible alors que les valeurs affectées aux variables sont les bonnes ?

Pouvez vous m'aider à trouver mon erreur, j'ai déjà cherché plus d'une heure et j'ai tout essayé sans succès.

Merci beaucoup

2 réponses

cocodu67... Messages postés 3152 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 5 janvier 2023 1
Modifié par cocodu67... le 16/05/2014 à 17:32
Puré après 3 heures j'ai enfin trouvé ... c'était simple pourtant.
En haut de ma Form1 j'ai mis un truc du genre
public static string sBD = "p", sID = "p", sIPServeurMySQL = "p", sMdp = "p";
public static MySqlConnection maConnexion = new MySqlConnection("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");


Le soucis c'est que la création de maConnexion se fait avec les valeurs des variables présentes au lancement de l'application, si par la suite dans la Form2 (pour la configuration) je modifie la valeur des variables, elles sont bien modifiées et c'est pour ça que je n'avais rien remarqué mais maConnexion était déjà créé avec le new et la modification des valeurs de l'affectait absolument pas.

J'ai déclaré maConnexion dans la Form qui fait la configuration et je l'ai initialisé avec le new lorsque les valeurs sont affectés avec les textBox dans la configuration et voilà ça marche

En tout cas merci d'avoir cherché mais finalement c'était quand même une erreur dans le code sauf qu'elle ne générait pas de message d'erreur elle même mais empêchait simplement la connexion.

Heureusement que j'ai maintenant terminé ces foutues applications, il était temps ...
0
Whismeril Messages postés 18414 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 juin 2023 624
16 mai 2014 à 20:06
Bonsoir,
sujet résolu alors?

0
cocodu67... Messages postés 3152 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 5 janvier 2023 1
17 mai 2014 à 09:38
Oups j'avais oublié^^
0