我用的BDE+SQL SERVER...可以BACKUP.
但是用RESTORE还原时候老提示数据库正在使用,请问怎么解决??
最好有详细点的代码,问题解决马上散分...
但是用RESTORE还原时候老提示数据库正在使用,请问怎么解决??
最好有详细点的代码,问题解决马上散分...
解决方案 »
- 自定义动态数组的下标范围
- 帮忙提供一个简单的保存思路
- DirectShow无法显示画面,只能刷新后才能闪动一下
- 大家用delphi的时候是不是经常遇到这种情况???
- 如何判断查询空值?
- 如何判断计算机是安装的是普通的光驱还是刻录机
- ADOQUERY + ACCESS 的刷新问题
- 我在程序里的一个窗口已经建立了一个adoconnect别的form如何引用它。菜鸟的问题
- 我用query更新数据时,提示table is read only!,请告述我怎么解决?
- 我动态新建了一个 PageControl页后,为什么还可是看到前一个页的内容呢?请求帮助?
- 问大家一个DLL调用的问题
- 谁了解这些巨无霸组件——好多啊 (给你100分)
没人回吗??
555555555555
DM.CLE_Connect.Connected := False;
MySQL := 'ALTER DATABASE DB_CLE SET OFFLINE WITH ROLLBACK IMMEDIATE'; //关闭数据库
with ADOQueryRestor do
begin
Close;
SQL.Clear;
SQL.Text := MySQL;
try
ExecSQL;
except end;
end;
RestorStr := 'RESTORE DATABASE DB_CLE FROM DISK = ''' + Trim(e_lj.Text) + ''' WITH REPLACE';
with ADOQueryRestor do
begin
Close;
SQL.Clear;
SQL.Text := RestorStr;
try
ExecSQL;
Application.MessageBox('恢复数据库成功!','提示!',mb_ok+mb_iconinformation);
except
Application.MessageBox('恢复数据库出错!','错误!',mb_ok+mb_iconError);
end;
end;
MySQL := 'ALTER DATABASE DB_CLE SET ONLINE WITH ROLLBACK IMMEDIATE';
with ADOQueryRestor do
begin
Close;
SQL.Clear;
SQL.Text := MySQL;
try
ExecSQL;
except end;
end;
DM.CLE_Connect.Connected := True;
这句话是把短开的数据库重新连接上
如果只是在程序中执行备份和恢复的工作,可以直接连接Sql Server的master数据库来执行。
begin
Close;
SQL.Clear;
SQL.Add('use master Restore database XXX from dist='your path'');//xxx为你的数据库名
execsql;
end;