用SQLDEMO好象只能备分到服务器!

解决方案 »

  1.   

    '-------備份與還原------------------------
    Private Function Backup_Restore(iType As String) As Long
      On Error GoTo Backup_Restore_ErrHand
      Dim oSqlNameSpace As SQLNamespace
      Dim oSqlNS As SQLNamespaceObject
      Dim arSQLArray(10) As Long
      
      Set oSqlNameSpace = New SQLNamespace
      oSqlNameSpace.Initialize "application",    SQLNSRootType_Server, "Server=DATASERVER; uid=sa;pwd=dataserver;", hwnd    'DATASERVER為server name
      arSQLArray(0) = oSqlNameSpace.GetRootItem
      arSQLArray(1) = oSqlNameSpace.GetFirstChildItem(arSQLArray(0), SQLNSOBJECTTYPE_DATABASES)
      arSQLArray(2) = oSqlNameSpace.GetFirstChildItem(arSQLArray(1), SQLNSOBJECTTYPE_DATABASE, "SalaryNew")  'salarynew為database name
      Set oSqlNS = oSqlNameSpace.GetSQLNamespaceObject(arSQLArray(2))
      Select Case iType
        Case "Backup"
             oSqlNS.ExecuteCommandByID (SQLNS_CmdID_DATABASE_BACKUP)
        Case "Restore"
             oSqlNS.ExecuteCommandByID (SQLNS_CmdID_DATABASE_RESTORE)
      End Select
      Backup_Restore = True
      
    Exit_Function:
      Set oSqlNS = Nothing
      Set oSqlNameSpace = Nothing
      Exit Function
    Backup_Restore_ErrHand:
      If iType = "Backup" Then
         MsgBox "備份未成功﹐可能您沒有安裝SQL SERVER用戶端軟體:" & Err.Description, vbCritical + vbOKOnly, CStr(Err.Number)
      ElseIf iType = "Restore" Then
         MsgBox "還原未成功﹐可能您沒有安裝SQL SERVER用戶端軟體:" & Err.Description, vbCritical + vbOKOnly, CStr(Err.Number)
      End If
      Backup_Restore = False
      GoTo Exit_Function
    End Function
      

  2.   

    以前這方面我曾經誤導過一些同志……I'm very sorry...
    更正一下:SQLDMO根本不可能把Database直接備份到客戶端上,這一點,看看MS的Enterprice Manager里面的備份就知道了,(因它也是用SQLDMO做的)變通的方法就是先備份到服務器…再把文件剪到客戶端……呵呵:)