关闭

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

898人阅读 评论(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 ;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31789次
    • 积分:393
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:30篇
    • 译文:0篇
    • 评论:1条
    最新评论