Access: 读文件 存文件到另一个地方 SQL server: BACKUP DATABASE 数据库 TO 'c:\aaa' RESTORE DATABASE 数据库 FROM 'c:\aaa' WITH NORECOVERY, MOVE 'MyNwind' TO 'c:\mssql7\data\NewNwind.mdf', MOVE 'MyNwindLog1' TO 'c:\mssql7\data\NewNwind.ldf' 恢复并删除原来的 也就是覆盖
用delphi 的写法: with query do begin close; sql.clear; sql.add('backup database 数据库 to '+ ' '+ edit1.text)//edit1.text为路径 try execsql; except showmessage('备份数据出错,请重新操作'); end; showmessage('数据备份成功'); end; 同样 sql.add('RESTORE DATABASE 数据库 FROM ' + '' + edit1.text);
如果数据库是oracle数据库呢,要完全备份,又该怎么办呢?
照你的做了 可是不行啊 : with DataModule2.Query1 do begin close; sql.clear; sql.add('backup database sfdata to '''+edit1.text+''''); showmessage(SQL.Text); try ExecSQL; showmessage('back ok'); except showmessage('back failure'); end; end; 请问那里错了啊
(8).备份和恢复 这是Sqlserver的,access的话直接拷贝文件就可以了 procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin try adoconnection1.Connected:=False; adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=FRIEND-YOFZKSCO;'+ 'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FRIEND-YOFZKSCO;Use Encryption for Data=False;Tag with column collation when possible=False'; adoconnection1.Connected:=True; with adoQuery1 do begin Close; SQL.Clear; SQL.Add('Backup DataBase sfa to disk ='''+opendialog1.FileName+''''); ExecSQL; end; except ShowMessage('±?·Y꧰ü'); Exit; end; end; Application.MessageBox('1§?2?ú£?êy?Y±?·Y3é1|','ìáê?',MB_OK + MB_ICONINFORMATION); end; procedure TForm1.Button2Click(Sender: TObject); begin if OpenDialog1.Execute then begin try adoconnection1.Connected:=false; adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=FRIEND-YOFZKSCO;'+ 'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FRIEND-YOFZKSCO;Use Encryption for Data=False;Tag with column collation when possible=False'; adoconnection1.Connected:=true; with adoQuery1 do begin Close; SQL.Clear; SQL.Add('Restore DataBase sfa from disk ='''+opendialog1.FileName+''''); ExecSQL; end; except ShowMessage('???′꧰ü'); Exit; end; end; Application.MessageBox('1§?2?ú£?êy?Y???′3é1|','ìáê?',MB_OK + MB_ICONINFORMATION); end;
我用 with adoquery1 do begin sql.Text := 'BACKUP DATABASE tmp to disk=' + QuotedStr(edit1.Text); ExecSQL; end; 数据库(SQL SERVER2000)备份没有问题,但在用 with adoquery1 do begin sql.Text := 'restore DATABASE tmp from disk=' + QuotedStr(edit1.Text); ExecSQL; end; 恢复数据库的时候遇到了问题: ‘因为数据库正在使用,所以未能获得对数据库的排她访问。’ 我已经在执行恢复前关闭了“企业管理器”和“查询分析器”,请问,这是怎么回事呢?如何解决这个问题(如何恢复数据库)
'BACKUP DATABASE tmp to disk=' + QuotedStr(edit1.Text);改成这样就OK了'use master BACKUP DATABASE tmp to disk=' + QuotedStr(edit1.Text);
如果用的是Access数据库,该怎么做?
用delphi 具体怎么写啊
读文件 存文件到另一个地方
SQL server:
BACKUP DATABASE 数据库 TO 'c:\aaa'
RESTORE DATABASE 数据库
FROM 'c:\aaa'
WITH NORECOVERY,
MOVE 'MyNwind' TO 'c:\mssql7\data\NewNwind.mdf',
MOVE 'MyNwindLog1' TO 'c:\mssql7\data\NewNwind.ldf'
恢复并删除原来的
也就是覆盖
with query do
begin
close;
sql.clear;
sql.add('backup database 数据库 to '+ ' '+ edit1.text)//edit1.text为路径
try
execsql;
except
showmessage('备份数据出错,请重新操作');
end;
showmessage('数据备份成功');
end;
同样
sql.add('RESTORE DATABASE 数据库
FROM ' + '' + edit1.text);
可是不行啊
: with DataModule2.Query1 do
begin
close;
sql.clear;
sql.add('backup database sfdata to '''+edit1.text+'''');
showmessage(SQL.Text);
try
ExecSQL;
showmessage('back ok');
except
showmessage('back failure');
end;
end;
请问那里错了啊
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
try
adoconnection1.Connected:=False;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=FRIEND-YOFZKSCO;'+
'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FRIEND-YOFZKSCO;Use Encryption for Data=False;Tag with column collation when possible=False';
adoconnection1.Connected:=True;
with adoQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Backup DataBase sfa to disk ='''+opendialog1.FileName+'''');
ExecSQL;
end;
except
ShowMessage('±?·Y꧰ü');
Exit;
end;
end;
Application.MessageBox('1§?2?ú£?êy?Y±?·Y3é1|','ìáê?',MB_OK + MB_ICONINFORMATION);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
try
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=FRIEND-YOFZKSCO;'+
'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FRIEND-YOFZKSCO;Use Encryption for Data=False;Tag with column collation when possible=False';
adoconnection1.Connected:=true;
with adoQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Restore DataBase sfa from disk ='''+opendialog1.FileName+'''');
ExecSQL;
end;
except
ShowMessage('???′꧰ü');
Exit;
end;
end;
Application.MessageBox('1§?2?ú£?êy?Y???′3é1|','ìáê?',MB_OK + MB_ICONINFORMATION);
end;
with adoquery1 do
begin
sql.Text := 'BACKUP DATABASE tmp to disk=' + QuotedStr(edit1.Text);
ExecSQL;
end;
数据库(SQL SERVER2000)备份没有问题,但在用
with adoquery1 do
begin
sql.Text := 'restore DATABASE tmp from disk=' + QuotedStr(edit1.Text);
ExecSQL;
end;
恢复数据库的时候遇到了问题:
‘因为数据库正在使用,所以未能获得对数据库的排她访问。’
我已经在执行恢复前关闭了“企业管理器”和“查询分析器”,请问,这是怎么回事呢?如何解决这个问题(如何恢复数据库)
with adocommand_restore do//用AdoCommand控件
begin
CommandText:='use Master';
Execute;
CommandText:='execute sp_helpdevice';
Execute ;
CommandText:='Restore database '+db_name+'From disk='''+FileName+''' with replace';
Execute ;
CommandText:='Use '+db_name;
Execute ;
end;
不明白为什么要用
CommandText:='execute sp_helpdevice';
Execute ;
请高手指点。