使用smo备份备份进度事件percentcomplete不会产生
我用vb+smo编写了数据库备份类,在用户窗体的按钮单击事件里开一个线程,传递参数调用此类的备份过程。类代码如下:
Public Class BackupRestore
Public BakFileName As String
Private _FilePath As String
Public DataBaseName As String
Public Server As Smo.Server
Private WithEvents BkUp As New Backup
Public Event OnPercentChange()
Public Event OnFinish()
Public Property FilePath() As String
Get
Return _FilePath
End Get
Set(ByVal value As String)
If Mid(value, value.Length - 1) <> "" Then _FilePath = value + ""
End Set
End Property
Public Sub BackUp()
BkUp.Action = BackupActionType.Database
BkUp.Database = DataBaseName
BkUp.Incremental = False
BkUp.Initialize = True
BkUp.LogTruncation = BackupTruncateLogType.Truncate
Dim FileName As String = String.Format("{0}{1}.bak", _FilePath, DataBaseName)
If IO.File.Exists(FileName) Then IO.File.Delete(FileName)
Dim backupItemDevice As BackupDeviceItem = New BackupDeviceItem(FileName, DeviceType.File)
BkUp.Devices.Add(backupItemDevice)
BkUp.PercentCompleteNotification = 10
'BkUp.PercentComplete += backup_PercentComplete
'BkUp.Complete += backup_Complete
BkUp.SqlBackup(Server)
End Sub
Private Sub PComplete(ByVal Sender As Object, ByVal e As Smo.PercentCompleteEventArgs) Handles BkUp.PercentComplete
MsgBox(e.Percent)
RaiseEvent OnPercentChange()
End Sub
Private Sub Finish() Handles BkUp.Complete
RaiseEvent OnFinish()
End Sub
End Class
发现只有complete事件会引发,而PercentComplete事件不会发生,请问这是怎么回事呢?这并不是网上所说的数据库不够大导致的,我选的数据库有3G多呢。
[解决办法]
没有人用过吗?哪位高人愿意回答一下?
[解决办法]
遇到同样的问题,来顶一下~!求解决方案。。。
[解决办法]
PercentComplete完全不触发,只有Complete触发。我最近也是一头雾水,不知道楼主找到问题所在没?
------解决方案--------------------
同问!!!!