如何在用delphi5编写的程序里控制sql7.0的数据库备份?(100分)

  • 主题发起人 主题发起人 交通灯
  • 开始时间 开始时间

交通灯

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在用delphi5编写的程序里控制sql7.0的数据库备份?
我要实现的功能是:
一按按钮就能备份好数据库,而另一个按钮能恢复数据库。
 
贴:
备份到何处?用的是那种数据获得控件?
在Delphi中,如用的是ClientDataSet,可用:
SaveToFile备份到本地的一个文件中
SaveToStream备份到内存流中(先create一个Tmemorystream对象);
用LoadFromFile;LoadFromStream载入。
如用Query查询,可用SQL语句,Create一个备份表,将数据存入。
或放一个Table,定义各个字段,CreateTable,将数据放入Table,
如为临时表,Table的Databasename为空。否则,指定一个Database.


 
如果在服务器上执行可以调用sql的备份api,dump database...
如果是在客户端可以备份到文本数据库,例如paradox,但是会失去很多信息,唯一的好处
是可以压缩
 
用sql语句可以完成:
备份:backup database databasename to disk='c:/temp/abc.dat'
恢复:restore database databasename from disk='c:/temp/abc.dat'
 
如果程序用c/s结构,要求在前端按备份按钮,可以指定备份的路径(本地硬盘或
网络上的其他电脑),要用什么控件?
而且恢复的时候可以指定是恢复哪一个备份文件,这样要怎样做?
 
我也想知道!!!!!!
 
我也想知道
 
首先知道备份设备的名字:dump_device
若是备份:在Query中写:DUMP DATABASE yourdbname TO dump_device WITH options
若是恢复:在Query中写:LOAD DATABASE yourdbname FROM dump_device WITH options
 
哇噻!来晚了
 
和SQLSERVER 中一样只是要控件要选好不然很麻烦的,SQLSERVER 中能实现的备份和恢复,
都能在DELPHI中实现,用ADO中控件吧
 
不是李颖有一个备份控件吗?
 
非常关心!!!!
 
调用SQL SERVER的系统存储过程是最方便的。
 
用系统存储过程sp_addumpdevice增加一个备份设备。
用sp_helpdevice查询一个已有的备份设备。
用backup database youdbname to youdevicename {with init}备份数据库。
用restore database youdbname from youdevicename with file = youfilename恢复数据库。
以上具体语法可参照mssql7.0的books online。
 
我也关心,不明白!
我可以说说我的办法,我的办法就是
备份: 把MDF和LDF文件 复制出来,用copyfile方法
恢复: 先把数据库删除,用DELETE方法,在把备份文件复制回去,
去掉文件的只读属性,然后在调用系统存储过程SP——ATTACH
加到服务器中!
我觉的还可以,大家有什么高见!
 
with ADODataSet1 do
begin
CursorLocation:= clUseClient;
CursorType:= ctStatic;
CacheSize:= //足够大
CommandText:= 'select * from mydata'
...
SaveToFile(...) //backup
end;

LoadFromFile(...); //还原
 
后退
顶部