mysql_real_connect()_ le programme ne répond plus
Bonjour à tous,
alors voilà mon problème, tout est dans le titre.
J'utilise mysql sur visual studio 2010 en c++ avec EasyPHP installé sur mon PC.
J'arrive à me connecter à ma base de données, à lire les valeurs.... bref le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
mysql_init(&mysql);
//Options de connexion
mysql_options(&mysql, MYSQL_OPT_LOCAL_INFILE, "option"); //Options de connexion
if(mysql_real_connect(&mysql,"localhost","hacker","monMdP","maTable",0,NULL,0)) // CETTE LIGNE FONCTIONNE MAIS FAIT SATURER MON PROGRAMME QUI NE REPOND PLUS
{
cout << "La connexion est réussie"
//Fermeture de MySQL
mysql_close(&mysql);
} //Si la connexion réussie...
else
{
cout << "Une erreur s'est produite lors de la connexion à la BDD!";
//Fermeture de MySQL
mysql_close(&mysql);
} |
J'obtiens donc sur cmd: "La connexion est réussie";
MAIS LA SUITE DE MON PROGRAMME NE S'EXECUTE PLUS, j'obtiens le message d'erreur:
"LE PROGRAMME NE REPOND PLUS." Je fait du traitement d'images, avec OpenCV et Tesseract.
C'est bien mysql_real_connect qui fait tout planter.
NB: lors de l'installation des includes de MySql, j'avais une mauvaise interférence entre une structure LIST de mysql (dans my_list.h) avec une autre de Tesseract (dans baseapi.h). Ce qui faisait planter la compilation de mon projet visual. J'ai donc renommé
Code:
1 2 3 4 5
|
typedef struct st_list {
struct st_list *prev,*next;
void *data;
} LIST |
renommé en :
Code:
1 2 3 4 5
|
typedef struct st_list {
struct st_list *prev,*next;
void *data;
} LISTE_MYSQL; |
et j'ai rremplacé LIST par LISTE_MYSQL dans tous les fichiers .h de Mysql. J'ai alors pu recompilé sans erreurs mon projet visual.
Maintenant, les plus chevronnés d'entre vous me diront peut être qu'il est possible que l'erreur vienne de là (mauvaise interaction entre ces modif et les fichier .lib ou .dll de mysql ??? )
Mais je ne pense personnellement pas que l'erreur vienne de là, sinon je ne pourrai même pas me connecter à ma base de données. D'autant plus que j'ai pu lire les éléments de chaque ligne de ma table...
En attendant, si j'enlève cette ligne, mon programme fonctionne et continue de s'exécuter, je peux alors traiter l'image suivante. Dans le cas ou je me connecte, je ne traite qu'une image et mon programme ne répond plus, il sature.... le processeur affiche 40% d'utilisation et le ventilo ronfle.
:arf:
Avez vous une idée ?