数据库还原

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 wsd309 的 blog

数据库还原

'引用sqldmo object library
dim gsqlserver as sqldmo.sqlserver
on error goto errhandler:
    if gsqlserver is nothing then
        set gsqlserver = new sqldmo.sqlserver
    end if
    gsqlserver.logintimeout = 15
    frmselectserver.show 1
    if frmselectserver.connecstring = "" then exit sub
    gsqlserver.connect frmselectserver.connecstring, "sa", "sa"
    dim orestore as sqldmo.restore
    dim msg as string
    dim response as string
    set orestore = new sqldmo.restore
    orestore.database = "data"
     commondialog1.cancelerror = true
   on error goto errhandler1
   ' 设置标志
   commondialog1.flags = cdlofnhidereadonly
   ' 设置过滤器
   commondialog1.filter = "all files (data*.*)|data*.*"
   ' 指定缺省的过滤器
   commondialog1.filterindex = 2
   ' 显示“打开”对话框
   '
   dim riqi as string
   commondialog1.filename = riqi
   commondialog1.showopen
   ' 显示选定文件的名字
   riqi = commondialog1.filename
   
    orestore.files = riqi
  '当连接的时候,鼠标变化
    screen.mousepointer = vbhourglass
    '恢复前断开所有的数据库连接
    dim idb as adodb.connection, ire as adodb.recordset
    set idb = new adodb.connection
    set ire = new adodb.recordset
    dim iconcstr as string
     '连接数据库服务器
    iconcstr = "provider=sqloledb;" & _
           "data source=myservername;" & _
           "initial catalog=master;" & _
           "user id=myusername;" & _
           "password=mypassword"
    idb.open iconcstr
    dim isql as string
    isql = "select spid from master..sysprocesses where dbid=db_id('data')"
    ire.open isql, idb, adopenkeyset, adlockreadonly
    frmmoive.label1.caption = "数据库在还原过程中,请等候。"
    frmmoive.caption = "数据库恢复"
    frmmoive.show vbmodeless, me
    doevents
    me.enabled = false
       dim spath as string
    if right(app.path, 1) <> "\" then
        spath = app.path & "\"
    else
        spath = app.path
    end if
    frmmoive.animation1.open spath & "working.avi"
    frmmoive.animation1.play
    while ire.eof = false
        isql = "kill " & ire(0)
        idb.execute isql
        ire.movenext
    wend
    ire.close
    idb.close
    '恢复数据库
    orestore.sqlrestore gsqlserver
    '恢复后鼠标返回默认的状态
    me.enabled = true
    frmmoive.animation1.stop
    unload frmmoive
    set orestore = nothing
    screen.mousepointer = vbdefault
    msgbox "数据库还原成功!"
   
    exit sub

errhandler:
    msgbox "error " & err.description
    exit sub
errhandler1:
       ' 用户按了“取消”按钮
   exit sub

本文关键:数据库
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top