2010-11-22 7 views
1

Salutations, j'ai un script C++ qui s'exécute indéfiniment. Parfois (rarement), la connexion MySQL est perdue, donc je voudrais mettre en place une logique pour se reconnecter si cela arrive. Je sais que c'est facile, mais je veux juste m'assurer que c'est correct car je suis nouveau en C++.Vérification de la connexion MySQL pendant une boucle

Voici comment la connexion est établie:

const char* mysql_server  = argv[argcounter++]; 
    const char* mysql_database  = argv[argcounter++]; 
    const char* mysql_user   = argv[argcounter++]; 
    const char* mysql_password  = argv[argcounter++]; 

    mysql_conn = mysql_init(NULL); 

    // connect to database 
    if (!mysql_real_connect(mysql_conn, mysql_server, 
     mysql_user, mysql_password, mysql_database, 0, NULL, 0)) 
    { 
    fprintf(stderr, "%s\n", mysql_error(mysql_conn)); 
    exit(1); 
    } 

Je me demande comment vérifier si la connexion n'existe plus. La boucle s'exécute toutes les 1500 secondes.

Merci

Répondre

1

Pourquoi ne pas utiliser l'option de rebranchement MYSQL à mysql_options?

De http://dev.mysql.com/doc/refman/5.0/en/mysql-options.html): -

« MYSQL_OPT_RECONNECT (type argument: my_bool *)

Activer ou désactiver la reconnexion automatique au serveur si la connexion se trouve avoir été perdu Reconnect a été désactivée par défaut. depuis MySQL 5.0.3, cette option est nouvelle dans 5.0.13 et fournit un moyen de définir le comportement de reconnexion explicitement. "

+0

Lien utile ici: https://dev.mysql.com/doc/refman/5.0/fr/auto-reconnect.html – JavaRunner

Questions connexes