数据库恢复问题
数据库备份语句:(我备份了数据库df为123.dat是成功!)
sqlca.autocommit=true
string docname, named
integer value
value = GetFileSaveName("选择备份文件",docname, named, "doc","dat Files (*.dat),*.dat")
IF value <> 1 THEN RETURN
setpointer(hourglass!)
ls_use='use df'
execute immediate :ls_use;
ls_use="backup database df to disk= '"+docname+"' with format ,name='full backup of df/sql'"
execute immediate :ls_use;
sqlca.autocommit=false
if sqlca.sqlcode>=0 then
messagebox('提示','数据库保存成功!')
else
messagebox('提示','数据库保存不成功!请重新再试!')
end if
setpointer(arrow!)
我把刚备份的123.dat恢复到df数据库!老提示数据库恢复不成功!请教如何备份及恢复?
数据库恢复语句:
string ls_path,ls_use
sqlca.autocommit=true
string docname, named
integer value
value = GetFileopenName("选择所有恢复的文件",docname, named, "doc","dat Files (*.dat),*.dat")
IF value <> 1 THEN RETURN
if messagebox('提示','确认要恢复该文件?',question!,yesno!)<>1 then return
setpointer(hourglass!)
ls_use="use df "
ls_use=ls_use+" restore database df from disk= '"+docname+" ' "
execute immediate :ls_use;
sqlca.autocommit=false
if sqlca.sqlcode>=0 then
messagebox('提示','数据库恢复成功!')
else
messagebox('提示','数据库恢复不成功!请关闭所有用户及打开的窗口,重新再试!')
end if
setpointer(arrow!)
[解决办法]
http://topic.csdn.net/t/20050701/18/4117759.html
[解决办法]
sql server 数据库吧?不用加 "use df" ;
可以建一个transaction tr_master 连接master数据库 ,然后像这样试一下:
......//之前断开与df的所有连接.string ls_userls_user = "RESTORE DATABASE [df] From Disk = N'" + docname + "' WITH FILE = 1, NOUNLOAD, STATS = 10 ,RECOVERY, REPLACE "EXECUTE IMMEDIATE : ls_user USING tr_master;if sqlca.sqlcode=0 then messagebox('提示','数据库恢复成功!') else messagebox('提示','数据库恢复不成功!请关闭所有用户及打开的窗口,重新再试!') end if