VB中如何通过SQLDMO对象实现数据库的备份?

解决方案 »

  1.   

    '参考一下
     
    '需要添加一个commondialog控件
    On Error GoTo errnum
        dlg.CancelError = True
        cn1.Execute "use master"
        dlg.Filter = "(*.bak)|*.bak"
        dlg.ShowSave
        MousePointer = 11
        cn1.Execute "BACKUP DATABASE databasename TO DISK = '" & dlg.FileName & "'"  '备份数据库
        MousePointer = 0
        Set cn1 = Nothing
        '重新建立连接
    errnum:
     
        Set cn1 = New ADODB.Connection
        cn1.Open "Driver={SQL Server};Server=" & SQL_SRV & ";Uid=" & SA & ";Pwd=" & PA & ";Database=" & SJK & ""
      

  2.   

    CSDN上真的没人了吗?自己顶一下!
      

  3.   

    'sql server 的备份方法If CN.State = adStateOpen Then CN.Close
        CN.ConnectionTimeout = 10
        connstr = "Driver={SQL Server};Server=" & LocalServer & ";UID=" & LocalUser & ";PWD=" & LocalPw & ";DATABASE=" & LocalDb
        CN.Open connstr
    Nowtime = Format(Now, "hh-mm-ss")
    dd = str(Date)
    riqi = dd + "-" + NowtimeSql = "BACKUP DATABASE tablename TO disk='D:\mssql7\BACKUP\tablename" & riqi & "' with noinit"
    CN.Execute (Sql)
      

  4.   

    'sql server 的备份方法If CN.State = adStateOpen Then CN.Close
        CN.ConnectionTimeout = 10
        connstr = "Driver={SQL Server};Server=" & LocalServer & ";UID=" & LocalUser & ";PWD=" & LocalPw & ";DATABASE=" & LocalDb
        CN.Open connstr
    Nowtime = Format(Now, "hh-mm-ss")
    dd = str(Date)
    riqi = dd + "-" + NowtimeSql = "BACKUP DATABASE tablename TO disk='D:\mssql7\BACKUP\tablename" & riqi & "' with noinit"
    CN.Execute (Sql)
      

  5.   

    ---------------------------------------------------------------  
     
    添加进度条ProgressBar1控件  
    引用Microsoft  SQLDMO  Object  Library  
     
    '声明  
    Public  WithEvents  bkps  As  SQLDMO.Backup  
    '数据库备份操作  
    Private  Sub  Command3_Click()  
           Dim  oSvr  As  SQLDMO.SQLServer  
           Set  oSQLServer  =  CreateObject("SQLDMO.SQLServer")  
           oSQLServer.LoginSecure  =  False  
           oSQLServer.Connect  ("(local)"),  ("sa"),  ("")'连接服务器  
           Screen.MousePointer  =  11  
           Set  bkps  =  CreateObject("SQLDMO.Backup")  
           bkps.Database  =  "db"'指定需备份的数据库  
           bkps.Action  =  0  
           bkps.Files  =  "c:\backup\db.bak"'指定备份文件  
           bkps.Initialize  =  True  
           ProgressBar1.Value  =  0  
           ProgressBar1.max  =  100  
           Screen.MousePointer  =  0  
           DoEvents  
           Err  =  0  
           bkps.SQLBackup  oSQLServer  
           Screen.MousePointer  =  11  
           ProgressBar1.Value  =  100  
           DoEvents  
           Set  bkps  =  Nothing  
           Screen.MousePointer  =  0  
           MsgBox  "数据库备份完成"  
    End  Sub  
    '显示进度  
    Private  Sub  bkps_PercentComplete(ByVal  Message  As  String,  ByVal  Percent  As  Long)  
           ProgressBar1.Value  =  ProgressBar1.max  *  (Percent  /  100)  
    End  Sub  
      

  6.   

    恢复的时候连接master数据库cn.execute "restore Database xxx from disk='d:\.........