在循环期间检查MySQL连接

时间:2010-11-22 16:40:23

标签: c++

问候,我有一个无限期运行的C ++脚本。有时(很少),MySQL连接丢失,所以我想实现一些逻辑重新连接,如果发生的话。我知道这很容易,但我只是想确保它是正确的,因为我是C ++的新手。

这是建立连接的方式:

  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 个答案:

答案 0 :(得分:1)

为什么不使用mysql_options的MYSQL重新连接选项?

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

“MYSQL_OPT_RECONNECT(参数类型:my_bool *)

如果发现连接丢失,则启用或禁用自动重新连接到服务器。自MySQL 5.0.3起,默认情况下重新连接已关闭;此选项是5.0.13中的新选项,它提供了一种显式设置重新连接行为的方法。“