如何在PB程序中恢复sql server2000的数据
y2001 2001-08-07 10:13:22 我写了一段程序,是在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!)