PB中SQL SERVER2000数据库恢复问题

xiaoplx 2004-09-07 03:30:20
下面是我的一段数据库恢复代码
String ls_database,ls_path,ls_sql
ls_database =Upper(SQLCA.DataBase)
Transaction SQLCA_BAKRES

//新建立一个事物,用于连接master数据库
SQLCA_BAKRES = CREATE Transaction
SQLCA_BAKRES.DBMS = SQLCA.DBMS
SQLCA_BAKRES.Database ='master'
SQLCA_BAKRES.ServerName = SQLCA.ServerName
SQLCA_BAKRES.LogId = SQLCA.LogId
SQLCA_BAKRES.LogPass= SQLCA.LogPass
SQLCA_BAKRES.AutoCommit = True
SQLCA_BAKRES.DBParm = SQLCA.DBParm
CONNECT USING SQLCA_BAKRES;


ls_path=trim(sle_1.text)

DISCONNECT USING SQLCA ;

ls_sql = "RESTORE DATABASE " + ls_database +" FROM DISK = '"+ls_path+"' WITH REPLACE "
EXECUTE IMMEDIATE : ls_sql USING SQLCA_BAKRES ;
Messagebox('',SQLCA_BAKRES.SQLERRTEXT)

IF SQLCA_BAKRES.SQLCode = -1 then
messagebox('错误','恢复数据库失败!',StopSign!)
ROLLBACK USING SQLCA_BAKRES;
ELSE
messagebox('提示','恢复数据库成功!')
COMMIT USING SQLCA_BAKRES;
END IF

DISCONNECT USING SQLCA_BAKRES;
DESTROY SQLCA_BAKRES
CONNECT USING SQLCA;

// 结束
报错为:因为数据库正在使用,所以未获得对数据库的排它访问权

怎么解决




...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
t02920p 2004-09-07
  • 打赏
  • 举报
回复
请问:恢复poerbuilder的数据库的代码该放在那啊
谢谢了
xiaoplx 2004-09-07
  • 打赏
  • 举报
回复
哈哈,真的是这样啊
编辑成EXE后就没有问题了
果然是要断开PB中database与SQL SERVER的联接
dengliangwei 2004-09-07
  • 打赏
  • 举报
回复
先断开PB中database与SQL SERVER的联接,断开后直接在程序中联接数据库!
dengliangwei 2004-09-07
  • 打赏
  • 举报
回复
先断开PB中与SQL SERVER
CL0 2004-09-07
  • 打赏
  • 举报
回复
ls_database =Upper(SQLCA.DataBase)
现在的SQLCA是否还联着呢?

是否在连接到MASTER库之前要先disconnect using sqlca

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧