首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

运用smo备份备份进度事件percentcomplete不会产生

2012-12-22 
使用smo备份备份进度事件percentcomplete不会产生我用vb+smo编写了数据库备份类,在用户窗体的按钮单击事件

使用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触发。我最近也是一头雾水,不知道楼主找到问题所在没?
------解决方案--------------------


同问!!!!

热点排行