Utilisation de Mysql embedded
Bonjour,
cela fait quelques jours que j'éssaies d'utiliser la version embedded de mysql mais j'ai quelques problèmes...
J'ai défini une structure de table qui correspond à celui utilisé dans l'exemple de mysql embedded, ensuite j'ai copié/collé les fichiers de la base dans un repertoire "datadir" situé dans le répertoire d'exécution du programme.
Seulement quand j'exécute le programmes j'ai toujours une segmentation fault qui se produit, je suppose que c'est parce qu'il ne trouve pas la base à utiliser mais je n'en suis vraiment pas sur...
Voici mon code :
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
|
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include "mysql.h"
MYSQL *mysql;
MYSQL_RES *results;
MYSQL_ROW record;
static char *server_options[] = { "mysql_test", "--defaults-file=/etc/my.cnf", "--datadir=./datadir" };
int num_elements = sizeof(server_options)/ sizeof(char *);
static char *server_groups[] = { "libmysqld_server", "libmysqld_client" };
int main(void)
{
mysql_server_init(num_elements, server_options, server_groups);
mysql = mysql_init(NULL);
mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "libmysqld_client");
mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);
mysql_real_connect(mysql, NULL,NULL,NULL, "database1", 0,NULL,0);
mysql_error(mysql) ;
mysql_query(mysql, "select column1, column2 from table1");
results = mysql_store_result(mysql);
mysql_error(mysql) ;
printf("Result : %s\n",results) ;
while((record = mysql_fetch_row(results))) { // Erreur de segmentation à cette ligne
printf("boucle\n") ;
printf("%s - %s \n", record[0], record[1]);
}
printf("test\n") ;
mysql_free_result(results);
mysql_close(mysql);
mysql_server_end();
return 0;
} |
A l'exécution j'obtiens ceci :
loris@mvision11:~/workspace/TestMysql/Debug$ ./TestMysql
Result : (null)
Segmentation fault
Si quelqu'un voit d'où vient mon erreur qu'il me l'indique svp je vois pas d'où ca peut venir...