国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

關(guān) SQLDMO 組件在一些用法!

2024-07-21 02:24:15
字體:
供稿:網(wǎng)友
 

今天做一個(gè)恢復(fù)數(shù)據(jù)庫的程序時(shí),突然想起 sqlserver 有一個(gè)功能強(qiáng)大的組件 sqldmo ,與是查閱了一下它的相關(guān)幫助,發(fā)現(xiàn)它剛好能夠滿足我的需求:
下面是我的程序的部代碼,在這里共享組大家分享。

以下代碼在 vb6中文版中編譯通過!

啟動(dòng)數(shù)據(jù)服務(wù):
public sub start_server()
    dim svr as new sqldmo.sqlserver
    on error goto errhwnd
    svr.start false, myserver
    svr.close
    exit sub
errhwnd:
    if err.number <> -2147023840 then
        msgbox err.number & vbcrlf & err.description, vbexclamation, "錯(cuò)誤"
    end if
end sub

聯(lián)接并驗(yàn)證密碼:
public function connserver(byval sqlserver as string, byval uid as string, byval pwd as string) as boolean
    dim st as sqldmo_svcstatus_type
    dim svr as new sqldmo.sqlserver
    on error goto errhwnd
    svr.logintimeout = 10
    svr.connect sqlserver, uid, pwd
    connserver = true
    exit function
errhwnd:
    if err.number = -2147203048 then
        msgbox "登錄失敗密碼不正確,請(qǐng)重新輸入!", vbinformation, "提示"
    else
        resume next
    end if
end function

恢復(fù)數(shù)據(jù)庫時(shí)如果要重新部署數(shù)據(jù)庫特理文件位置需注意設(shè)置
恢復(fù)數(shù)據(jù)庫:
public withevents ores as sqldmo.restore                '聲明事件注意此行放在過程調(diào)用之前
private sub restoredata(byval datafile as string)
    on error goto errhwd
    dim osql as sqldmo.sqlserver
    set ores = new sqldmo.restore
    set osql = new sqldmo.sqlserver
    osql.loginsecure = false
    osql.connect servername, sqluser, sqlpwd            '聯(lián)接數(shù)據(jù)服務(wù)
    ores.action = sqldmorestore_database                '恢復(fù)類型數(shù)據(jù)庫
    ores.database = "rcrs"                              '數(shù)據(jù)庫名稱
    ores.replacedatabase = true                         '替代現(xiàn)有數(shù)據(jù)庫如不存則創(chuàng)建它
    ores.files = datafile                               '備份文件名,如果是多個(gè)設(shè)備上的需使用.devices屬性
    ores.databasefiles = datafile                  '數(shù)據(jù)庫文件此參數(shù)必須設(shè)置否則無法使用 relocatefiles
    ores.filenumber = 1                                 '文件在設(shè)備上的id號(hào)如果你只有一個(gè)文件就是1
    'relocatefiles 重新部署數(shù)據(jù)庫邏輯名'"[邏輯名],[物理文件名地址]"
    ores.relocatefiles = "[tyrs2_data]" & "," & "[" & app.path & "/rcrs_data.mdf]," & _
                        "[tyrs2_log]" & "," & "[" & app.path & "/rcrs_log.ldf]"
    doevents
    ores.sqlrestore osql                                '調(diào)用恢復(fù)方法
    set ores = nothing
    set osql = nothing
    exit sub
errhwd:
    select case err.number
        case -2147221499
            '這個(gè)錯(cuò)誤尚不知道原因,但不影響操作結(jié)果
            resume next
        case -2147218403
            msgbox "數(shù)據(jù)庫正在使用,請(qǐng)關(guān)閉所有正在使用數(shù)據(jù)的程序!", vbexclamation, "錯(cuò)誤"
        case else
            msgbox err.number & vbcrlf & err.description, vbexclamation, "提示"
    end select
end sub
'恢復(fù)事件
private sub ores_percentcomplete(byval message as string, byval percent as long)
        probar.value = probar.max * (percent / 100)      '設(shè)置進(jìn)度條
end sub


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 晋城| 南华县| 开原市| 舞钢市| 隆化县| 上蔡县| 东光县| 景德镇市| 临夏县| 广安市| 清徐县| 金坛市| 珲春市| 凤翔县| 巴东县| 霞浦县| 仪征市| 白水县| 华安县| 萝北县| 营口市| 阆中市| 甘孜| 司法| 岳阳县| 独山县| 积石山| 田阳县| 大荔县| 龙山县| 汶川县| 钟山县| 武义县| 丰镇市| 遂昌县| 绵竹市| 迁安市| 黄浦区| 米易县| 惠东县| 南丹县|