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 ;

發佈了1 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章