'请参考:
Private Sub backup_Click()
On Error Resume NextWith dlg
.CancelError = True
.DialogTitle = "备份数据库到 ..."
.Flags = cdlOFNOverwritePrompt
.InitDir = "\\" & g_SERVER
.Filter = ""
.ShowSave
If err.Number <> 0 Then Exit Sub
Screen.MousePointer = 11
DoEvents
err.Clear
cn.Execute "EXEC sp_addumpdevice 'disk','gzbkdev','" & .FileName & "'"
cn.Execute "BACKUP DATABASE GZ TO gzbkdev"
cn.Execute "EXEC sp_dropdevice gzbkdev"
End With
If err.Number = 0 Then
MsgBox "备份数据库完成。", vbOKOnly + vbInformation, "备份"
Else
cn.Execute "EXEC sp_dropdevice gzbkdev"
MsgBox "备份数据库失败!" & Chr(13) & err.Description, vbOKOnly + vbCritical, "失败"
End If
Screen.MousePointer = 0
End Sub
Private Sub backup_Click()
On Error Resume NextWith dlg
.CancelError = True
.DialogTitle = "备份数据库到 ..."
.Flags = cdlOFNOverwritePrompt
.InitDir = "\\" & g_SERVER
.Filter = ""
.ShowSave
If err.Number <> 0 Then Exit Sub
Screen.MousePointer = 11
DoEvents
err.Clear
cn.Execute "EXEC sp_addumpdevice 'disk','gzbkdev','" & .FileName & "'"
cn.Execute "BACKUP DATABASE GZ TO gzbkdev"
cn.Execute "EXEC sp_dropdevice gzbkdev"
End With
If err.Number = 0 Then
MsgBox "备份数据库完成。", vbOKOnly + vbInformation, "备份"
Else
cn.Execute "EXEC sp_dropdevice gzbkdev"
MsgBox "备份数据库失败!" & Chr(13) & err.Description, vbOKOnly + vbCritical, "失败"
End If
Screen.MousePointer = 0
End Sub
解决方案 »
- 网页自动填表中 关于自动选择 下拉列表 的问题 谢谢大家.帮我看看!
- [求助] 奇怪的错误!!!!!!
- 用水晶报表9做报表,程序用installshield打包后,在自己的电脑可以打开报表。在另外的机器打开出错?
- 怎样获取我所需要的记录?
- 迷茫ing!!!
- 在VB中用ADO如何访问NT服务器上的SQL SERVER等数据库?(急)
- MSHFLEXGRID的SORT属性如何使用?急!!!
- 如何用数据报表实现打印分页的问题??恳求高手指点
- 紧急问题....printer的问题
- 在哪里可以找到介绍API函数具体使用的资料?介绍每个函数的使用及参数.
- 如何强制让text控件换一行?
- 如何在一个字符串中添加一个字符串?up有分,在线等待
& "Persist Security Info=False;" _
& "User ID=aaa;" _
& "Pwd=a2001;" _
& "Initial Catalog=master;" _
& "Data Source=" & mstrServer
Screen.MousePointer = vbHourglass
' staInfo.Panels(1).Text = "正在备份..."
staInfo.Panels(1).Text = LoadResString(212 & mintLang)
strSql = "Backup Database Data" & CStr(mintAccNo) & " To Disk='" & strFileName & "' With INIT"
cnn.Execute strSql
恢复
cnn.Open "Provider=SQLOLEDB.1;" _
& "Persist Security Info=False;" _
& "User ID=aserp;" _
& "Pwd=aserp2001;" _
& "Initial Catalog=master;Connect Timeout = 0;" _
& "Data Source=" & Trim(txtDbServer.Text)
strSql = "Select phyname From sysdevices Where name='master'"
rstTmp.Open strSql, cnn
strPath = rstTmp(0) & ""
rstTmp.Close
strPath = Left$(strPath, Len(strPath) - 10)
strDevice = "ErpDbBak"
strFile = txtbak.text
strSql = "Select cnt=Count(*) From sysdevices Where name='ErpDbBak'"
rstTmp.Open strSql, cnn
If rstTmp!cnt <> 0 Then
rstTmp.Close
strSql = "Exec sp_dropdevice 'ErpDbBak',DELFILE"
cnn.Execute (strSql)
End If
strSql = "Exec sp_addumpdevice 'disk', 'ErpDbBak','" & strFile & "'"
cnn.Execute (strSql)
strSql = "restore filelistonly from ErpDbBak"
If rstTmp.State = 1 Then rstTmp.Close
rstTmp.CursorLocation = adUseClient
rstTmp.Open strSql, cnn
If Not rstTmp.EOF Then
lngI = rstTmp.RecordCount
If lngI = 2 Then
strOldNo = rstTmp("logicalname")
rstTmp.MoveNext
strOldLog = rstTmp("logicalname")
Else
rstTmp.Close
Set rstTmp = Nothing
cnn.Close
Set cnn = Nothing
' MsgBox "备份集中的数据库不唯一,不能恢复!", vbInformation, Title
MsgBox LoadResString(367 & mintLang), vbInformation, Title
Exit Sub
End If
Else
rstTmp.Close
Set rstTmp = Nothing
cnn.Close
Set cnn = Nothing
' MsgBox "备份集格式不对或文件版本不对,不能恢复!", vbInformation, Title
MsgBox LoadResString(368 & mintLang), vbInformation, Title
Exit Sub
End If
DoEvents strSql = "Restore database " & strNo & " from ErpDbBak" & vbCrLf & " With Replace "
strSql = strSql & vbCrLf & ",Move '" & strOldNo & "' To '" & strPath & strNo & ".mdf'" _
& vbCrLf & ",Move '" & strOldLog & "' To '" & strPath & strNo & "_log.ldf'"
cnn.Execute strSql
查找目录