• 全部
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

急需can run successfully的恢复数据库的代码(贴出一定给分)

learn03 2003-05-19 03:40:29
同上
...全文
8 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tchatcha 2003-05-29
http://expert.csdn.net/Expert/topic/1802/1802553.xml?temp=.9270441
回复
mailguoyy 2003-05-29
gz
回复
one_bird 2003-05-29
帮你up;~
回复
joss 2003-05-19
回复数据库,直接调用,传递参数as_dbname(回复的数据库名)
//恢复数据库
string ls_filename,named,ls_syntax
long ll_value,li_exist

select count(*) into :li_exist from master..sysdatabases where name = :as_dbname;
if li_exist = 0 then
sle_2.setfocus()
sle_2.SelectText(1,20)
messagebox('错误提示','该数据库不存在,请重新输入数据库名称!',exclamation!)
return -1
end if
if messagebox('提示','数据库恢复后,现有的数据将丢失,~r~n~r~n确定进行数据库恢复吗?',&
question!,yesno!,2) = 2 then return -1

ll_value = GetFileopenName("请选择要恢复的数据库备份文件",&
ls_filename, named,"dbback","数据库备份文件(*.bak),*.bak")

if ll_value <> 1 then return -1

sle_1.Text = ls_filename
st_1.text = '正在恢复' + as_dbname + '数据库......'
setpointer(hourglass!)

ls_syntax = "RESTORE DATABASE " + as_dbname + " FROM DISK = '" + ls_filename + "'"

sqlca.autocommit = true
EXECUTE IMMEDIATE :ls_syntax;//开始备份数据库
sqlca.autocommit = false

if sqlca.sqlcode = 0 then
st_1.text = '正在重新启动数据库......'
DISCONNECT;//断开与master数据库的连接,连接应用程序数据库
connect using sqlca;
setpointer(arrow!)
if sqlca.sqlcode <> 0 then
messagebox('系统提示','数据库' + sqlca.database + '重新启动失败,~r~n~r~n请重新启动程序进行操作!',stopsign!)
return -2
end if
st_1.text = sle_2.text + '数据库恢复成功!'
messagebox("系统提示","恢复完毕,数据库恢复成功!")
else
setpointer(arrow!)
st_1.text = sle_2.text + '数据库恢复失败!'
messagebox('错误提示','数据库恢复失败!~r~n~r~n请重新启动程序然后恢复数据库',stopsign!)
return -2
end if
return 1
回复
fengzeng 2003-05-19
http://expert.csdn.net/Expert/topic/1802/1802553.xml?temp=.9270441
回复
learn03 2003-05-19
不断开怎么恢复?
回复
miqier 2003-05-19
ls_use = "EXECUTE ('USE master')"
EXECUTE IMMEDIATE :ls_use ;

ls_use = "EXEC sp_addumpdevice 'disk'"+", '"+gs_dataname+"', '"+ls_path+"'"
EXECUTE IMMEDIATE : ls_use ;

ls_use = "RESTORE DATABASE "+gs_dataname+" FROM DISK = '"+ls_path+"' "
EXECUTE IMMEDIATE : ls_use using sqlca ;

ls_use = "EXEC sp_dropdevice '"+gs_dataname+"'"
EXECUTE IMMEDIATE : ls_use using sqlca ;

if sqlca.sqlcode = 0 then
messagebox("系统提示","数据库恢复成功!")
else
messagebox("系统提示","数据库恢复失败!")
end if
回复
相关推荐
发帖
PowerBuilder
创建于2007-09-28

864

社区成员

PowerBuilder 相关问题讨论
申请成为版主
帖子事件
创建了帖子
2003-05-19 03:40
社区公告
暂无公告