C++ MFC编程,ODBC连接SQL后,怎么让SQL数据库备份与恢复?

C++ MFC编程,ODBC连接SQL后,怎么让SQL数据库备份与恢复?,第1张

void CMainFrame::OnBackup()

{

// TODO: Add your command handler code here

CDatabase db

CString filename

//构造保存文件对话框

CFileDialog filedlg(false,"",NULL,

OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.*")

if (filedlg.DoModal()==IDOK) //d出对话框

{

filename=filedlg.GetPathName() //获取保存文件的路径

if (filename!="")

{

CString strSQL

strSQL.Format("ODBCUID=""PWD=""")//默认用户名和密码

db.Open("mystudent",false,false,strSQL)

strSQL.Format("backup database student to Disk='%s'",filename)//备份数据库

db.ExecuteSQL(strSQL)

AfxMessageBox("数据库备份成功!\r\n 文件路径为:"+filename)

}

}

else return

}

void CMainFrame::OnRecover()

{

// TODO: Add your command handler code here

CDatabase db

CString filename

//构造打开文件对话框

CFileDialog filedlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"所有文件(*.*)||",NULL)

if (filedlg.DoModal()==IDOK)

{

filename=filedlg.GetPathName() //获取打开文件的路径

if (filename!="")

{

CString strSQL

strSQL.Format("ODBCUID=""PWD=""")

db.Open("mystudent",false,false,strSQL)

strSQL.Format("restore database report from disk='%s'",filename) //还原数据库

db.ExecuteSQL(strSQL)

AfxMessageBox("数据库还原成功")

}

}

else return

bmf使用SQLserver来进行数据存储。大家都知道要定期的备份数据库,以免电脑发生意外事故的时候能最大限度地挽回我们的损失。但有时候还没来得及备份系统就出了问题,该怎么办呢?重新再做?别开玩笑了,那么多的数据要重做到什么时候啊。别急,如果你的数据库和系统没有安装在同一个盘符下那就没有关系了。不信?下面就看我怎样一步步地让我们的数据库“起死回生”吧。

一、重新安装系统,在这里非常非常要注意的就是:可千万别把新系统安装到原数据库的安装盘里面。否则就真的“死翘翘”了。

二、安装好系统后,找到原数据库安装路径下的DATA文件夹。一般目录为:X\Program Files\Microsoft SQL Server\MSSQL\Data (X为所安装盘)。把里面需要的数据库文件备份出来。例如:bmf.LDF和bmf.MDF,其中bmf.LDF是日志文件,bmf.MDF是数据库文件。

三、正常安装数据库软件,打开企业管理器,执行附加数据库。

四、 在出现的对话框中选择我们刚刚备份好的数据库文件,日志文件会自动添加上的,在“附加为”后面输入要还原的数据库名称。

五、 看一下,我们熟悉的数据库是不是又回来了。

简简单单的五个步骤就让我们没来得及备份的数据库又回来了。是不是有种劫后余生的感觉呢?有的人问,我的数据库和系统安装在同一个盘符下怎么办?没关系,只要你的硬盘没坏就没有问题。可以有很多种方法把你需要的数据库文件拷贝出来的。只要有了数据库文件就什么都好办了。具体方法自己想想吧!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6772790.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存