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

在程序中备份数据库中碰到的疑惑!WAITING .... ....

dingzhaofeng 2003-07-21 09:57:37
代码如下:

////////////////////////////////////////////////////////////////
string ls_sql

ls_sql = "BACKUP DATABASE wygl TO DISK 'E:\PROGRAM\WYGL\WYGL\BakData\wyglnew2'"

EXECUTE IMMEDIATE :ls_sql;

if sqlca.sqlcode = 0 then
messagebox('提示信息','备份完毕!')

else
if SQLCA.Sqlcode=-1 then
messagebox('提示信息','备份错误!')
end if
end if
//////////////////////////////////////////////////////////////

错误类型为:3021
不能在事务内部执行备份或还原操作。

不知道是为何故!请赐教!
...全文
59 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
李洪喜 2003-07-21
这种方法根本不行,我已经试过很多次了。如果有更好的方法,请MAIL TO ME 。
lhx1977@163.net
谢谢。
回复
119119 2003-07-21
连接master数据库然后
connect;
if sqlca.sqlcode<>0 then
disconnect;
messagebox('提示','连接数据库失败,详细信息如下:~r~n~r~n'+str_tmp)
return
end if
st_1.text="~r~n正在备份数据库,这大约需要几分钟时间!"
str_sql="BACKUP DATABASE "+数据库名+" to disk='"+备份路径与文件名+"'"
EXECUTE IMMEDIATE :str_sql;
if sqlca.sqlcode <> 0 then
disconnect;
messagebox('提示','备份数据库时出错')
return
else
disconnect;
messagebox("提示","数据库备份完毕!")
end if
回复
dingzhaofeng 2003-07-21
都不行了呀!

已经断掉了,然后连到master 上了。
回复
119119 2003-07-21
你好像应该先把数据库的连接断掉,然后再备份数据.

我这边有个备份的原码,你要么.或者你搜索以前的帖子也很多的.
回复
相关推荐
发帖
PowerBuilder
创建于2007-09-28

853

社区成员

PowerBuilder 相关问题讨论
申请成为版主
帖子事件
创建了帖子
2003-07-21 09:57
社区公告
暂无公告