问题描述:使用ADO操作mysql数据库,程序当天运行没有任何问题,能正常操作数据库。可是,隔一天后关于数据库的操作就会都失败!重启后还是可以正常运行,后来经过试验更改系统的日期后,数据库操作就失败了。出错日志: ODBC 驱动程序不支持所需的属性。数据库连接用:strConnectSql.Format(_T("DRIVER={MySQL ODBC 5.1 Driver}; SERVER=%s; PORT=%s; DATABASE=%s; UID=%s; PASSWORD=%s;OPTION=3;"),strDBIP,strPort,strDBName, strUser, strPwd);解决问题的尝试:1.在每次操作数据库前都用重新连接数据库,开始时还行,更改日期都没问题。后来因为要大量操作数据库,就要会出问题,日志如下:“连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。”
   2.准备尝试用定时器,每隔一段时间连接一次数据库,还没有尝试,不知行不行。就算行,但是也是治标不治本的,所以请求各位试验验证一下并指教啊,拜求各位了。说明:由于项目过大,无法贴出代码。程序在一天内没任何问题,日期变后会有问题,重启后一切正常。

解决方案 »

  1.   

    是MYSQL的错误日志
      

  2.   

    CADORecordset pRs(db);
    try 

    //一系列操作

    catch(CADOException* e) 
    {
       pRs.Close(); 
       CString str = e->GetErrorMessage(); 
       OutputDebugString(str); //打印异常信息
       return -1;
    }
    catch(...) 
    {
        pRs.Close();              OutputDebugString(_T("未知错误!\r\n"));
       return -1; 
    }
      

  3.   

    查找*.ERR文件
      

  4.   

    mysql错误日志:InnoDB: buffer...
    130813  8:47:53  InnoDB: Started; log sequence number 0 1078191
    130813  8:47:53 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: ready for connections.
    Version: '5.0.51b-community-nt'  socket: ''  port: 3306  MySQL Community Edition (GPL)
    130813 18:10:42 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Normal shutdown130813 18:10:42  InnoDB: Starting shutdown...
    130813 18:10:44  InnoDB: Shutdown completed; log sequence number 0 1397375
    130813 18:10:44 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Shutdown complete130814  8:46:38  InnoDB: Started; log sequence number 0 1397375
    130814  8:46:38 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: ready for connections.
    Version: '5.0.51b-community-nt'  socket: ''  port: 3306  MySQL Community Edition (GPL)
    130814 17:52:24 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Normal shutdown130814 17:52:25  InnoDB: Starting shutdown...
    130814 17:52:43  InnoDB: Shutdown completed; log sequence number 0 2248385
    130814 17:52:43 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Shutdown complete130815  8:48:36  InnoDB: Started; log sequence number 0 2248385
    130815  8:48:36 [Note] C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: ready for connections.
    Version: '5.0.51b-community-nt'  socket: ''  port: 3306  MySQL Community Edition (GPL)
      

  5.   

    从日志看,MYSQL正常运行,检查一下控制面板中日期、时间的设置
      

  6.   

    你mysql服务器每天上下班都开关机。
    当服务器重新开起时了, 你的客户端也要重新连接啊。
      

  7.   


    使用的本地MySQL,不存在这个问题。
      

  8.   

    做的是多线程开发,各个线程共享ADO连接,应该有这位仁兄的问题 http://bbs.csdn.net/topics/20179518    请各位在给点办法