powershell之?dāng)?shù)據(jù)庫操作

#region 配置函數(shù) c  
function c{  
    #====創(chuàng)建object  
    $o=new-object psobject  
 
    #-------數(shù)據(jù)庫連接配置--------  
    $o|Add-Member -MemberType NoteProperty -Name t -Value 'MySQL'         #數(shù)據(jù)庫類型  
    $o|Add-Member -MemberType NoteProperty -Name h -Value 'localhost'     #主機(jī)地址  
    $o|Add-Member -MemberType NoteProperty -Name u -Value 'root'          #登錄名  
    $o|Add-Member -MemberType NoteProperty -Name p -Value 'root'          #登錄密碼  
    $o|Add-Member -MemberType NoteProperty -Name d -Value 'monitor'       #默認(rèn)訪問的數(shù)據(jù)庫  
    $o|Add-Member -MemberType NoteProperty -Name c -Value 'utf8'          #編碼  
    #--------expand--------  
 
    #--------expand--------  
 
    #====對傳入?yún)?shù)進(jìn)行驗證并輸出返回值  
    switch($args[0]){  
        't'{return $o.t;break}  
        'h'{return $o.h;break}  
        'u'{return $o.u;break}  
        'p'{return $o.p;break}  
        'd'{return $o.d;break}  
        'c'{return $o.c;break}  
        default{  
            Write-Warning "當(dāng)前參數(shù) $args 無效,請檢查參數(shù)是否正確,可用參數(shù)及表示如下:"  
            write-host t : 表示數(shù)據(jù)庫類型 -ForegroundColor Yellow  
            write-host h : 表示主機(jī)地址 -ForegroundColor Yellow  
            write-host u : 表示登錄數(shù)據(jù)庫的賬號 -ForegroundColor Yellow  
            write-host p : 表示登錄數(shù)據(jù)庫的密碼 -ForegroundColor Yellow  
            write-host d : 表示默認(rèn)訪問的數(shù)據(jù)庫名 -ForegroundColor Yellow  
            write-host d : 表示連接數(shù)據(jù)庫所使用的字符集 -ForegroundColor Yellow  
            exit  
        }  
    }  
}  
#endregion  
 
#region 數(shù)據(jù)庫操作函數(shù) _odb_  
function _odb_  
{  
    param  
    (  
        $funName, #執(zhí)行的函數(shù)名  
        $sql      #執(zhí)行的sql腳本  
    )  
    #====從配置函數(shù)c中,獲取配置信息  
    $dbtpye=c t  
    $server=c h  
    $uid=c u  
    $pwd=c p  
    $DBName=c d  
    $char=c c  
     
    #====驗證數(shù)據(jù)庫類型,創(chuàng)建數(shù)據(jù)庫對象  
    switch($dbtpye){  
        'mssql'{  
            $conn = New-Object System.Data.SqlClient.SqlConnection  
            $cmd = new-object System.Data.SqlClient.SqlCommand  
            $SqlAdapter = New-Object system.Data.SqlClient.SqlDataAdapter  
            break  
        }  
        'mysql'{  
            try{  
            [void][System.Reflection.Assembly]::LoadWithPartialName("mysql.data")  
            }catch{Write-Warning '請安裝mysql連接組件mysql-connector-net-6.5.4'}  
            $conn = New-Object MySql.Data.MySqlClient.MySqlConnection  
            $cmd = new-object mysql.data.mysqlclient.mysqlcommand  
            $SqlAdapter = New-Object mysql.Data.mySqlClient.mySqlDataAdapter  
            break  
        }  
    }  
    try{  
        $conn.ConnectionString="server=$server;uid=$uid;pwd=$PWD;database=$DBName;charset=$char"  
        $conn.open()  
    }  
    catch{  
        Write-warning '數(shù)據(jù)庫連接錯誤!'  
        return $false  
    }  
    $cmd.Connection=$conn  
 
     
    #region用于寫入、更新等無返回值操作 _exec_  
    function _exec_  
    {  
        $cmd.CommandText=$sql  
        [void]$cmd.ExecuteNonQuery()  
    }  
    #endregion  
     
    #region用于查詢、有返回值操作 _get_  
    function _get_  
    {  
        $cmd.commandtext=$sql  
        $SqlAdapter.SelectCommand = $cmd  
        $DataSet = New-Object System.Data.DataSet  
        [void]$SqlAdapter.Fill($DataSet,"data")  
        return $dataset.tables['data']  
    }  
    #endregion  
 
    #判斷傳入值,并執(zhí)行相應(yīng)函數(shù)  
    switch($funName){  
        '_exec_'{_exec_;break}  
        '_get_'{_get_;break}  
    }  
    $conn.Close()  
}  
#endregion

調(diào)用

_odb_ _get_ sql    有返回值
或
_odb_ _exec_ sql   無返回值

網(wǎng)站題目:powershell之?dāng)?shù)據(jù)庫操作
轉(zhuǎn)載注明:http://muchs.cn/article46/gcidhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站維護(hù)、建站公司、網(wǎng)站設(shè)計公司商城網(wǎng)站、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名