PB中关于SQL ANYWHERE 5.0备份和恢复的问题

//备份数据库,到c:/backup目录下面

string ls_backup
CreateDirectory(sle_1.text)
ls_backup="BACKUP DATABASE DIRECTORY '"+sle_1.text+"' TRANSACTION LOG RENAME"
execute immediate : ls_backup;
if sqlca.sqlcode<>0 then
 messagebox("备份数据错误","请确定文件夹是否存在!"+sqlca.sqlerrtext)
else
 messagebox("数据备份成功","OK,数据备份成功,放在'C:/BACKUP/'目录下")
end if


-------------------------------------------------------------------
//恢复数据库,程序拷贝
 string ls_filename,named,ls_ml,gs_dir
 long  ll_value
  string mtext
 //得到当前目录
  if messagebox('提示','恢复数据库,会覆盖现有数据库,且无法修复,是否继续?',&
       question!,yesno!,2) = 2 then return
 ll_value = GetFileopenName("请选择要恢复的数据库文件",&
      ls_filename, named,"backup","数据库文件(*.db),*.db")
  gs_dir=GetCurrentDirectory()
  if ll_value <> 1 then return
  ChangeDirectory(gs_dir)
  disconnect;
  setpointer(hourglass!)
  //读取文件
  integer li_FileNum
  boolean lb_del
  ls_ml=gs_dir +"/bookmanager.db"
    //拷贝文件
  li_FileNum = FileCopy(ls_filename, ls_ml, true)
  choose case li_FileNum
   case 1
    messagebox("系统提示","已经成功恢复数据库!",Exclamation!)
   case -1
    messagebox("系统提示","不能打开源文件,恢复失败!",Exclamation!)
   case -2
    messagebox("系统提示","不能写入目标文件,恢复失败!",Exclamation!)
  end choose
  setpointer(arrow!)
  //重新连接数据库
  connect ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值