请问 只用mysql CAPI 如何设置 mysql_real_connect连接超时时间。
我这样
MYSQL *conn = mysql_init (&mysql);
int ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk");
unsigned int timeout = 1;
ret = mysql_options(&mysql,MYSQL_OPT_CONNECT_TIMEOUT,&timeout);
if(!mysql_real_connect(&mysql,"192.168.123.234","root","root","webautohome",3306,NULL,0))

AfxMessageBox("数据库连接失败"); 
return FALSE;
}是没有效果的,大约20秒,连接不到才会提示。

解决方案 »

  1.   

    对于MYSQL,我知道的还没有你多。
    我看网上都说用这个函数设置超时时间。你把timeout再设置大一些呢?比如10秒,是否有效果?
      

  2.   

    int ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk"); 
    unsigned int timeout = 1; 
    ret = mysql_options(&mysql,MYSQL_OPT_CONNECT_TIMEOUT,&timeout); 
    =============为什么两个mysql_options的第一个参数不一样呢???
      

  3.   

    哦,conn MYSQL* ,mysql MYSQL类型,conn = &mysql
    应该是一样的吧
      

  4.   

    我碰到了表现类似的情况。
    也是在  mysql_real_connect  返回出错。
    进入 mysql 后执行  use dbname ,发现要20秒才出现Database changed。
    这种情况让我误认为是mysql_real_connect 链接mysql因为超时而出错。
    后面将mysql error打印出来后才清楚,原来是客户端的mysql版本过低导致的...