请问有用JSP写过下面这个程序的,可以帮我贴下你的代码吗?或说下你的思路,先谢过了
功能如下:
维护WEB和数据库服务器,备分和存档数据库
(数据库名为A)

解决方案 »

  1.   

    直接用SQL的数据库备份与恢复语句:BACKUP DATABASE,RESTORE DATABASE
    我自己写的备份函数如下:
    Public Function DBBackup() As Boolean 
         Dim sFile As String 
         Dim sSQL As String 
         Dim lTimeOut As Long 
         Dim adoTempRS As ADODB.Recordset 
         
         On Error GoTo ErrHadller
         
         With gDBRecordConn '本连接为ADODB.Recordset类型的连接 
         
         '函数gclsInclude.MyGetFileName的功能是得到要备份的程序文件名称,会显示保存画面 
         sFile = gclsInclude.MyGetFileName(False, _ 
         "数据库备份文件 (*.BAK)|*.bak", , _ 
         gTAppLicInfo.FileDBRestore, _ 
         "请选择存储的数据库备份文件 ") 
         If sFile <> "" Then '如果文件名称和路径合法的话,函数gclsInclude.MyGetFileName会返回一个非空的字符串 
         DoEvents '给鼠标足够的时间显示漏斗状态 
         Screen.MousePointer = vbHourglass '鼠标显示漏斗为忙的状态 
         DoEvents 
         gclsCommon.CBNSplashShow '本函数将出现一个画面,显示备份的进度 
         gclsCommon.CBNSplashSetMessage "正在备份数据库" '在进度上面显示“正在备份数据库……”的文字动画 
         DoEvents '给函数gclsCommon.CBNSplashShow足够的时间显示文字动画 
         sSQL = "USE master" '使用master数据库进行工作 
         .Execute sSQL '同上 
         '看一下当前有那些系统设备在使用 gTAppLicInfo.SoftSQLDBase 数据库,其中,gTAppLicInfo.SoftSQLDBase 数据库是被备份的SQL数据库名称 
         Set adoTempRS = gDBRecordConn.Execute("SELECT * FROM sysdevices WHERE name = '" & gTAppLicInfo.SoftSQLDBase & "'") 
         If adoTempRS.RecordCount = 0 Then '如果没有人在使用要备份的数据库,则建立一个类型为disk的设备,同时开辟一个备份文件名称 
         sSQL = "EXEC sp_addumpdevice 'disk', '" & gTAppLicInfo.SoftSQLDBase & "','" & sFile & "'" 
         .Execute sSQL 
         End If 
         '由于备份的时间比较长,因此要将ADO连接gDBRecordConn的命令超时延长,但要先将以前的超时使用变量lTimeOut保存下来 
         lTimeOut = gDBRecordConn.CommandTimeout 
         '根据需要将超时定为需要的值,这里是500 
         .CommandTimeout = 500 
         '开始备份数据库…… 
         sSQL = "BACKUP DATABASE " & gTAppLicInfo.SoftSQLDBase & " TO " & gTAppLicInfo.SoftSQLDBase 
         .Execute sSQL 
         '备份完毕后将主ADO连接gDBRecordConn还原 
         sSQL = "USE " & gTAppLicInfo.SoftSQLDBase 
         .Execute sSQL 
         '将主ADO连接gDBRecordConn的超时设置还原 
         .CommandTimeout = lTimeOut 
         '如果没有任何错误,本函数将返回TRUE 
         DBBackup = True 
         End If 
         End With 
        ErrHadller: 
         If Err Then 
         MsgBox Error, vbCritical '如果出错,将显示错误 
         End If 
        ' Resume Next 
         gclsCommon.CBNSplashUnload '将显示备份进度的Splash窗口卸载 
         gDBRecordConn.CommandTimeout = lTimeOut '还原连接的超时 
         Screen.MousePointer = vbNormal '鼠标显示正常 
    End Function