备份sql

来源:互联网 发布:大数据研判 编辑:程序博客网 时间:2024/05/17 07:18
 string   ls_server_path
string   ls_database,ls_backup
string   ls_filename
SetPointer(HourGlass!)
SQLCA.AutoCommit   =   TRUE
ls_database   =   '需要备份的数据库'
ls_filename   =   'databak'   +   string(today(),'yyyymmddhhmmss')
ls_server_path   =   '备份路径信息'
if   ls_server_path   =   ""   then
messagebox('提示',"请先指定要备份的数据文件的路径!")
return  
end   if
ls_server_path   =   ls_server_path   +   '/'   +   '数据库文件名'   +   '.dat'
ls_backup   =   "exec   sp_addumpdevice   'disk',   '"+ls_filename+"'   ,'"+ls_server_path+"'   "   +   &
                        +   "backup   database   "+ls_database+""     +   "   to   "+ls_filename+""
this.enabled   =   false
EXECUTE   IMMEDIATE   :ls_backup;
if   sqlca.sqlcode   =   0   then
messagebox("提示","备份完成")
this.enabled   =   true
else
messagebox("提示","备份失败"+sqlca.sqlerrtext)
end   if

setup:
/****************************************************************/
string ls_execSql
ls_execSql = "sp_addumpdevice 'disk','HC_JXC','C:/BACKUP/HC_JXC.bak'"
execute immediate :ls_execSql using sqlca;
if sqlca.sqlcode <> 0 then
  messagebox("设置设备","设备已经存在,不需要设置。")
else
  messagebox("设置设备","设置设备成功!")
end if
/****************************************************************/
backup:
/****************************************************************/
string ls_execSql
ls_execSql = "backup database HC_JXC to HC_JXC"
execute immediate :ls_execSql using sqlca;
if sqlca.sqlcode <> 0 then
  messagebox("备份数据","数据备份失败,可能数据库正在使用,或者数据库没有连接!")
else
  messagebox("备份数据","数据备份成功!")
end if
/****************************************************************/
restore:
/****************************************************************/
string ls_execSql
ls_execSql = "use master restore database HC_JXC from HC_JXC"
execute immediate :ls_execSql using sqlca;
if sqlca.sqlcode <> 0 then
  messagebox("恢复数据","恢复数据失败,可能数据库正在使用,或者数据库没有连接!")
else
  messagebox("恢复数据","恢复数据成功!")
end if

原创粉丝点击