ADO 数据库的备份和还原

wawanihao 2005-06-09 10:28:23
我是用ADO连接SQL数据库的,服务器就是自己机子的名字,比如KLE,用SQL的服务器建了一个库
library(图书馆信息管理系统),存于E盘的study的目录下。现在如果我让程序再另一台机子上运行
我应该怎么备份和还原数据库啊,就是把那个库一起考走,然后在别的机子上也可以用。
...全文
222 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
slxj88 2005-06-13
  • 打赏
  • 举报
回复
给个例子吧! 其他自己改改吧!
//===备份数据库
procedure TDBBakResFrm.BtnDBBakClick(Sender: TObject);
var
DB:String;
begin
if (edt_DataPath.Text <> '') and (ListBoxDb.Items.Text <> '') then
begin
DB := trim(ListBoxDb.Items[ListBoxDb.ItemIndex]);
if ADOConn.Connected then
ADOConn.Connected := false;
with ADOCom do
begin
try
MMInfo.Lines.Clear;
MMInfo.Lines.Add('正在备份数据库中,请稍后......');
CommandText := 'use Master';
Execute;
CommandText := 'execute sp_helpdevice';
Execute;
CommandText := 'backup database ' + DB + ' to disk=''' + trim(edt_DataPath.Text) +'\'+ DB + FormatDateTime('yyyymmddhhmmss',Now) +'.Bak'+ ''' with init';
Execute;
CommandText := 'Use ' + DB;
Execute;
MMInfo.Lines.Add('');
MMInfo.Lines.Add('恭喜您!数据库已经备份成功!');
MessageBox(Handle,'备份成功!','信息提示!',MB_OK+MB_ICONINFORMATION);
ADOConn.Connected := true;
except
MMInfo.Lines.Add('');
MMInfo.Lines.Add('不好意思!数据库已经备份失败!');
MessageBox(Handle,'备份失败,请重新测试服务器!','信息提示!',MB_OK+MB_ICONERROR);
end;
end;
end
else
begin
MMInfo.Lines.Add('数据库未连接成功......!');
MessageBox(Handle,'数据库备份路径不能为空,请选择!','信息提示!',MB_OK+MB_ICONINFORMATION);
edt_DataPath.SetFocus;
end;
end;

/===还原数据库
procedure TDBBakResFrm.BtnResDbClick(Sender: TObject);
var
DB:String;
begin
DB := Cb_DbList.Text;
if Cb_DbList.Text = '' then
begin
MessageBox(Handle,'还原数据库名不能为空,请选择!','信息提示!',MB_OK+MB_ICONINFORMATION);
Cb_DbList.SetFocus;
Exit;
end
else if edt_ReDataPath.Text = '' then
begin
MessageBox(Handle,'原备份文件不能为空,请填写!','信息提示!',MB_OK+MB_ICONINFORMATION);
edt_ReDataPath.SetFocus;
Exit;
end
else
begin
if ADOConn.Connected then
ADOConn.Connected := false;

with ADOCom do
begin
try
CommandText := 'use Master';
Execute;
CommandText := 'restore database ' + DB + ' from disk=''' + trim(edt_ReDataPath.Text) + ''' with replace';
Execute;
CommandText := 'use ' + DB;
Execute;
MessageBox(Handle,'还原成功!','信息提示!',MB_OK+MB_ICONINFORMATION);
ADOConn.Connected := true;
except
MessageBox(Handle,'还原失败,请重新测试服务器!','信息提示!',MB_OK+MB_ICONERROR);
end;
end;
end;
end;
steelxu5 2005-06-13
  • 打赏
  • 举报
回复
如果用企业管理器的话,试一下先在该新的服务器上建一个数据库,注意,保证名字和各设置与原数据库一致,方可恢复
wawanihao 2005-06-13
  • 打赏
  • 举报
回复
是生成可执行文件~
继续试验中
wnnnnnn6 2005-06-11
  • 打赏
  • 举报
回复
"让程序再另一台机子上运行":
是生成的可执行文件呢?还是在另一台机子调试原程序呢?
helodd 2005-06-11
  • 打赏
  • 举报
回复
用语句语句
use master
go
BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'

go

RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
GO
abcdefgdeng 2005-06-11
  • 打赏
  • 举报
回复
还原时,要选择路径的,
把路径选到数据库存放位置。
比如E:\study
advancejar 2005-06-11
  • 打赏
  • 举报
回复
搜 数据库备份

还原时有个存储过程切断当前连接的
Open2ye 2005-06-10
  • 打赏
  • 举报
回复
还原时,要选择路径的,
把路径选到指定位置。


还原失败,原因可能是路径找不到
wawanihao 2005-06-10
  • 打赏
  • 举报
回复
恳请大家帮忙
wawanihao 2005-06-10
  • 打赏
  • 举报
回复
topforver(辉) 讲的办法不行啊~
备份完生成一个backup文件,还原的时候通不过,比如说原来我的数据库放在E盘的study下,现在还原那个文件夹就不存在了。说什么不是单用户状态
godear 2005-06-09
  • 打赏
  • 举报
回复
企业管理器中操作, 简单方便
duan24 2005-06-09
  • 打赏
  • 举报
回复
你用ADO开发的《图书馆信息管理系统》,要在别的计算机上用,如两台计算机在同一局域网内,不用备份数据库,只须把应用程序的存放路径与你所开发应用程序的保存路径保持一致即可访问你所开发的那台计算机的数据库。
oracle100 2005-06-09
  • 打赏
  • 举报
回复
那要是要在自己编写的程序中用DELPHI来备分和恢复呢,请各为老大指点一下
smiler007 2005-06-09
  • 打赏
  • 举报
回复
以“备份”为关键字在CSDN里搜索....
topforver 2005-06-09
  • 打赏
  • 举报
回复
企业管理器 -->备份数据库-->目的那里选择 添加-->选择保存的目录 -->确定就可以了。


-->还原数据库-->选择从设备-->选择设备-->添加,找备份的哪个文件,确定



wawanihao 2005-06-09
  • 打赏
  • 举报
回复
直接选择数据库备份还原就可以了吗?
第8章 数据库技术 8.1 连接数据库 实例264 使用ODBC DSN连接SQL Server数据库 实例265 用ADO动态连接数据库 8.2 添加数据 实例266 利用INSERT语句批量插入数据 实例267 利用SELECT INTO生成临时表 8.3 更新数据 实例268 批量修改数据 实例269 将指定字段数据为空的记录添上数据 8.4 删除数据 实例270 删除单条数据 实例271 删除数据库中无用处的记录 8.5 视图 实例272 动态创建视图 实例273 通过视图更改数据 实例274 删除视图 8.6 存储过程 实例275 创建存储过程 实例276 删除存储过程 实例277 在程序中使用存储过程 实例278 调用具有输出参数的存储过程 实例279 编写扩展存储过程 8.7 数据库结构的读取与修改 实例280 读取Access数据库结构 实例281 读取SQL Server数据库结构 8.8 图片、多媒体数据录入技术 实例282 对Access数据库进行录入和提取图片 实例283 对SQLServer数据库进行录入和提取多媒体文件 8.9 数据备份恢复 实例284 Access数据库备份还原 实例285 SQL Server数据库备份与恢复 实例286 定时数据备份 8.10 其他数据库技术 实例287 断开SQL Server数据库与其他应用程序的连接 实例288 在Visual C++中执行事务 实例289 在程序中执行SQL脚本 实例290 利用SQL语句执行外围命令 实例291 枚举SQL Server服务器 实例292 附加数据库 实例293 分离数据库

2,497

社区成员

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

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