Connection MySQL en Mode Release en C/C++ sous visual studio

tomtom1305 Messages postés 11 Date d'inscription jeudi 31 mai 2012 Statut Membre Dernière intervention 14 février 2013 - 14 juin 2012 à 12:18
tomtom1305 Messages postés 11 Date d'inscription jeudi 31 mai 2012 Statut Membre Dernière intervention 14 février 2013 - 15 juin 2012 à 09:31
bonjour,

je sais pas si je poste au bon endroit.
excusez-moi si sa n'est pas le cas.

j'ai actuellement un soucis de connection avec le module MySQL.

En mode débug mon programme fonctionne nikel sans aucun soucis " Hakuna matata".

mais dès sue je passe en Mode Release, la le soucis apparaît dans cette partis de mon code, impossible de me connecter à la base de donnée MySQL.



   // connexion au serveur MySQL(ici, a distance) ( pour mettre en local il suffit de changer les paramettres de connection)
if(mysql_real_connect(conn,"192.168.254.129","","","parc_inventaire",0,NULL,0)==NULL)
    { 
        printf("Erreur de connexion\n"); 
        return 0; 
    }
else
{
printf("Connection établie\n");
}
     


j'ai mis cette partie en commentaire, et le reste du code qui se situe juste après fonctionne nikel.


d'où peut venir cette erreur de connection ??

s'il vous plait,

besoin d'un petit coup de main de votre part,

avec mes remerciement d'avance,

cordialement.

...:::tomtom1305:::...

2 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
15 juin 2012 à 04:14
Salut,
Selon la documentation de MySQL, il est préférable de déclarer une structure MYSQL, au lieu d'un simple pointeur sur cette structure, et passer son adresse aux différentes fonctions. Il parait que ce n'est pas le cas d'après ton petit bout de code. Essaie comme ceci:

MYSQL conn;
mysql_init(&conn);// Au début de ton programme
//...
mysql_real_connect(&conn,"192.168.254.129",...);
//...
mysql_close(&conn);// A la fin de ton programme


C'est ce que je fais toujours et ça marche aussi bien en Debug qu'en Release. J'espère avoir aidé.
0
tomtom1305 Messages postés 11 Date d'inscription jeudi 31 mai 2012 Statut Membre Dernière intervention 14 février 2013
15 juin 2012 à 09:31
Salut, merci de ton aide.

Au début avec mon code, en debug tout marché nikel puis en release sa planté a cause d'une DLL qui manquait. j'ai rajouté la DLL. et le programme compile très bien puis se lance très bien.


MYSQL conn;
mysql_init(&conn);// Au début de ton programme
//...
mysql_real_connect(&conn,"192.168.254.129",...);
//...
mysql_close(&conn);// A la fin de ton programme


C'est ce que je fais toujours et ça marche aussi bien en Debug qu'en Release


je code moi aussi de cette façon, le mysql_close(&conn) et tte a la fin de mon code =) c pour ça que vous l'avez pas vu.

Bref revenons a mon nouveau problème...
quand je lance le programme en mode debug, le programme se connecte sans aucun soucis.

mes quand je le lance en mode release j'ai ceci qui aparait dans ma fenètre windows: (je fais un programme win32, appli console)

Iinitialisation Etablie
Erreur de connexion
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Appuyez sur une touche pour continuer...

Je pence que c'est une erreur d’authentification, mais comment le résoudre.. j'ai cherché sans trouvaille d'une réponse.

pourriez vous me donné un indice, un conseil, le fichier apache ou mysql a configurer...

s'il vous plait,

grand merci d'avance,

cordialement,


...:::tomtom1305:::...
0
Rejoignez-nous