如何做数据备份和数据恢复功能?

alpha368 2006-05-14 07:55:44
小弟想做数据备份和数据恢复这两个功能,但不知道该怎么做,希望各位大侠提供思路和相关例子,谢谢!!!
...全文
491 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzy40 2007-02-12
  • 打赏
  • 举报
回复
'备份系统文件
Public Shared Sub BackupSystemFile()
Dim filepath As String
filepath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly.Location)
Try
'备份数据库
CopyFile(filepath & "\infocenter.mdb", filepath & "\backup\infocenter.mdb")

'备份树
CopyFile(filepath & "\MainTree.xml", filepath & "\backup\MainTree.xml")

'备份配置文件
CopyFile(filepath & "\PersonalInfo.cfg", filepath & "\backup\PersonalInfo.cfg")

Catch ex As Exception
Throw New Exception("备份数据时失败," & ex.Message)
End Try

End Sub
'复制文件,如文件在目的地已存在,则删除之
Private Shared Sub CopyFile(ByVal sourceFileName As String, ByVal DestFileName As String)
Try
'删除已有的文件
If Dir(DestFileName) <> String.Empty Then
System.IO.File.Delete(DestFileName)
End If
System.IO.File.Copy(sourceFileName, DestFileName)

Catch ex As Exception
Throw New Exception("操作文件:" & sourceFileName & "---" & DestFileName & "时失败,系统给出的信息为:" & ex.Message)
End Try
End Sub

'复原系统文件
Public Shared Sub RestoreSystemFile()
Dim filepath As String
filepath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly.Location)
Try

'复原数据库
CopyFile(filepath & "\backup\infocenter.mdb", filepath & "\infocenter.mdb")

'复原树
CopyFile(filepath & "\backup\MainTree.xml", filepath & "\MainTree.xml")

'复原配置文件
CopyFile(filepath & "\backup\PersonalInfo.cfg", filepath & "\personalinfo.cfg")
Catch ex As Exception
Throw New Exception("还原数据时失败," & ex.Message)
End Try


End Sub
whu531 2007-02-06
  • 打赏
  • 举报
回复
我写的备份的存储过程代码:
CREATE PROCEDURE pr_backup_db
@flag int out ,
@backup_db_name varchar(128),
@filename varchar(1000)
as
declare @sql nvarchar(4000),@par nvarchar(1000)
if not exists(select * from master..sysdatabases where name=@backup_db_name)
begin
select @flag=1--'<Parameter>DB Not Found'
return @flag
end
else
begin
if right(@filename,1)<>'\' and charindex('\',@filename)<>0
begin
select @par='@filename varchar(1000)'
select @sql='BACKUP DATABASE '+ @backup_db_name +' to disk=@filename with init'
execute sp_executesql @sql,@par,@filename
if @@ERROR = 0
begin
select @flag=9--'<Backup>Backup Success'
return @flag
end
else
begin
select @flag=2--'<Backup>File Path Error'
return @flag
end
end
else
begin
select @flag=3--'<Parameter>File Name Error'
return
end
end
GO
copico 2006-08-13
  • 打赏
  • 举报
回复
Backup DataBase db to disk 'd:\123.bat'

Restore DataBase db From Disk 'd:\123.bat'
ilove8 2006-08-13
  • 打赏
  • 举报
回复
up
kingtoo008 2006-08-12
  • 打赏
  • 举报
回复
路过...
------------------------------------------------------------------------------------
100M.Net空间+50M企业邮局=60元/年
100M.Net空间+国际顶级域名=100元/年
国际顶级域名.com.net.cn=50元/年
本站申请域名可绑定免费10M Asp.Net空间
1000M.Net空间 + 100M MsSql数据库 + 1000M企业邮局 + 顶级域名=600元/年
数据库 企业邮局 网站推广 整机租用 美国空间 网站建设 均有售
还有很多优惠套餐提供给各个用户层.
有意者可联系电话:021-64802212 传真:021-64802212
咨询信箱:info@kingtoo.com 咨询OICQ:68311305,379620139 81778640

zhangyuwei_ 2006-08-12
  • 打赏
  • 举报
回复
mark
gjmcg 2006-05-23
  • 打赏
  • 举报
回复
用sql的语句
backup database
restore database
foyuan 2006-05-23
  • 打赏
  • 举报
回复
在Application_Start里面写一个Timer
设置为间隔 1 天 或者 N 天
在事件处理程序中进行备份
SQLServer 可以用Backup 或者存储过程
Access的话你把那个Access文件复制到另一个地方就行了
mmla 2006-05-23
  • 打赏
  • 举报
回复
收藏
chengpei_chen 2006-05-23
  • 打赏
  • 举报
回复
用程序实现数据库的备份与还原:
http://www.jaron.cn/chs_scripts/11/2004-10/20041019125752-101629.html
也可以在SQL数据库里面建立"作业"实现数据库的定时备份
sz_lgp 2006-05-23
  • 打赏
  • 举报
回复
好的。
MonkWang 2006-05-23
  • 打赏
  • 举报
回复
学习 收藏
zjx1302 2006-05-15
  • 打赏
  • 举报
回复
'数据库备份
Dim conn As SqlConnection = New SqlConnection("server =(local) ";database=数据库名;user id=sa;password=;")
Dim objdataadapter As New SqlDataAdapter
Dim objdataset As DataSet = New DataSet
objdataadapter.SelectCommand = New SqlCommand
objdataadapter.SelectCommand.Connection = conn
objdataadapter.SelectCommand.CommandText = "backup database 数据库名 to disk='备份路径+文件名'"

Try
conn.Open()
objdataadapter.SelectCommand.ExecuteNonQuery()
conn.close()
MessageBox.Show("备份数据成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try





'数据库恢复
Dim conn As SqlConnection = New SqlConnection("server =(local);database=数据库名;user id=用户名;password=密码;")
Dim objdataadapter As New SqlDataAdapter
Dim objdataset As DataSet = New DataSet
objdataadapter.SelectCommand = New SqlCommand
objdataadapter.SelectCommand.Connection = conn
objdataadapter.SelectCommand.CommandText = "restore database 数据库名 from disk='要恢复的数据库路径'"
Try
conn.Open()
objdataadapter.SelectCommand.ExecuteNonQuery()
conn.Close()
MessageBox.Show("数据恢复成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
Dim result As DialogResult
result = MessageBox.Show(ex.Message)
If result = DialogResult.OK Then
Exit Try
End If
End Try
swankie 2006-05-15
  • 打赏
  • 举报
回复
在sqlserver2000 中使用语句就可以了,backup database 【你的数据库名】to disk = '【备份文件】'
同样恢复

RESTORE DATABASE 【你的数据库名】
FROM DISK = '【备份文件】'

这就是两条简单的sql语句,你在程序例动态的生成,然后再向执行普通插入语句一样就ok了,不过在恢复的时候要保证不要有数据库连接。
曲滨_銘龘鶽 2006-05-14
  • 打赏
  • 举报
回复
如果数据量小怎么都好说

如果大,还得用数据库代的
分数据库
oracle sqlserver 有专用sql 语句
mdb 就好稿了 copy 一份文件即可
zhmvb 2006-05-14
  • 打赏
  • 举报
回复
楼上说的有道理。
如果数据量小,可以用dataset把数据写到一个xml文件里做备份
lywzl 2006-05-14
  • 打赏
  • 举报
回复
可以采用数据库备份的方法来进行,如果对于一个表来说数据的备份与恢复,只能在DATASET中来进行。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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