如题!用MFC实现备份与还原MYSQL数据库的程序,请大虾指教!!
我的思想就是应用mysqldump程序命令备份数据库,但在是程序中怎么运行这个命令,我在了解到要用WinExec()或ShellExecute()函数来运行,我不能正确执行这个mysqldump这一条指令,
我在MYSQL命令框中用SOURCE *.sql来还原数据库,但也mysql_reala_query()也不能执行这条语句,是不是SOURCE..不是SQL语句???
有没有其它什么思想或方法来实现对MYSQL数据库的备份与还原!!??

解决方案 »

  1.   

    //1、用ShellExecute大致这样
    HINSTANCE   hinstSetup   =   ShellExecute(m_hWnd,   "open",   "c:\\mysql\\bin\\mysqldump   database   >   E:\\mybackup",   NULL,   NULL,   0);   
    //2、SOURCE..不是SQL语句
    //3、用mysql api 或者odbc或者ado执行Backup和Restore语句
      

  2.   

    还是用ADO连接后,用Execute执行Backup和Restore好一些。连接数据库时,要注意设置sql语句超时时间,最好设置成无限制,因为数据库备份是很费时间的,默认设置的话会出现没执行完备份就报出“超时已过期”的提示
      

  3.   

    1、创建连接
    // 设置连接字符串,必须是BSTR型或者_bstr_t类型_bstr_t strConnect = "Provider=SQLOLEDB; Server="+DB_Server \
    +";Database="+DB_DateBase+"; uid="+DB_UserID+"; pwd="+DB_UserPwd+";";//设置查询超时时间
    m_pConnection->PutConnectionTimeout(60);
    m_pConnection->PutCommandTimeout(60);

    m_pConnection->Open(strConnect,"","",adModeUnknown);2、执行备份_bstr_t vSQL;
    vSQL = "backup database "+DB_DateBase+" to disk = '"+dataDir+"' ";
    m_pConnection->Execute(vSQL,NULL,adCmdText);