2010-11-22 11 views
1

挨拶、私は無期限に実行されるC++スクリプトを持っています。時には(まれに)、MySQL接続が失われているので、これが起こった場合に再接続するロジックを実装したいと思います。私はこれが簡単だと知っていますが、私はちょうど私がC++に慣れていないので正しいことを保証したいと思います。ループ中のMySQL接続を確認する

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); 
    } 

私は接続がもう存在しないかどうかを確認しないためにどのように思ったんだけど:

これは、接続が確立された方法です。ループは1500秒ごとに実行されます。

ありがとう

答えて

1

なぜMYSQL再接続オプションをmysql_optionsに使用しないのですか? http://dev.mysql.com/doc/refman/5.0/en/mysql-options.htmlから

): -

「MYSQL_OPT_RECONNECT(引数のタイプ:my_bool *)

接続が失われたと判明した場合、サーバーへの自動再接続を有効または無効に再接続はデフォルトではオフになっています。 MySQL 5.0.3以降、このオプションは5.0.13で新しく、再接続動作を明示的に設定する方法を提供します。

+0

役に立つリンク:https://dev.mysql.com/doc/refman/5.0/en/auto-reconnect.html – JavaRunner

関連する問題