如何在程序中恢复sql server的数据库?

y2001 2001-08-08 12:52:24
我写了一段程序,是在PB中恢复Sql server 2000 数据库,但是在PB中运行,总是显示"其他用户正在使用程序,恢复失败",意思是有人正在使用数据库,不能恢复,但其实只有我一人在用,在sql sever 管理器中可以恢复,在程序中却不可,为什么?
源程序如下:
String ls_database, ls_sql, ls_init, ls_fileno, ls_error,ls_use,ls_path

SetPointer(Hourglass!)

Commit using sqlca ;

DISCONNECT ;
sqlca.DBMS = ProfileString("config.ini","database","dbms","")
sqlca.database = ProfileString("config.ini","database","database","")
sqlca.userid = ProfileString("config.ini","database","userid","")
sqlca.dbpass = ProfileString("config.ini","database","dbpass","")
sqlca.logid = ProfileString("config.ini","database","logid","")
sqlca.logpass = ProfileString("config.ini","database","logpass","")
sqlca.servername = ProfileString("config.ini","database","servername","")
sqlca.dbparm = ProfileString("config.ini","database","dbparm","")
sqlca.lock = ProfileString("config.ini","database","lock","")
sqlca.autocommit = true
connect using sqlca;
if sqlca.sqlcode <> 0 then
SetPointer(Arrow!)
halt close
return
end if

ls_path=trim(sle_backupfile.text)

ls_use = "RESTORE DATABASE jsdata FROM DISK =c:\data\jsdata"
EXECUTE IMMEDIATE : ls_use ;


If sqlca.SQLCode = 0 Then
Halt Close
Else
Choose Case sqlca.SQLDBCode
Case 3101
ls_Error = "gfhggh"
Case Else
ls_Error = sqlca.sqlerrtext
End Choose
END IF
SetPointer(Arrow!)
...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbsql 2001-08-08
  • 打赏
  • 举报
回复
up
hzslx 2001-08-08
  • 打赏
  • 举报
回复
ok
y2001 2001-08-08
  • 打赏
  • 举报
回复
只要连接master数据库就搞定,谢谢!!!
pbdesigner 2001-08-08
  • 打赏
  • 举报
回复
因为你没有让数据库进入单用户模式。你必须先连到master数据库,然后执行sp_dboption 'mrpii','single user',true再执行你的SQL语句(推荐)。或者执行DOS命令
run("net stop mssqlserver")成功后执行run("net start mssqlserver singleuser"),再执行你的SQL语句。
caolei1974 2001-08-08
  • 打赏
  • 举报
回复
你不能连接jsdata数据库,你要连接master数据库才行
y2001 2001-08-08
  • 打赏
  • 举报
回复
config.ini
[Database]
DBMS=MSS Microsoft SQL Server 6.x
Database=jsdata
UserId=
DatabasePassword=
LogPassword=
ServerName=oa
LogId=sa
Lock=RU
DbParm=
Prompt=0
AutoCommit=0

[login]
login=sa
showtext=no
caolei1974 2001-08-08
  • 打赏
  • 举报
回复
你的config.ini里是什么数据库
playyuer 2001-08-08
  • 打赏
  • 举报
回复
DataBase painter 是不是同时连着!
把 DataBase painter disconnected!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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