#region 配置函数 c
function c{
#====创建object
$o=new-object psobject
#-------数据库连接配置--------
$o|Add-Member -MemberType NoteProperty -Name t -Value 'mysql' #数据库类型
$o|Add-Member -MemberType NoteProperty -Name h -Value 'localhost' #主机地址
$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' #默认访问的数据库
$o|Add-Member -MemberType NoteProperty -Name c -Value 'utf8' #编码
#--------expand--------
#--------expand--------
#====对传入参数进行验证并输出返回值
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 "当前参数 $args 无效,请检查参数是否正确,可用参数及表示如下:"
write-host t : 表示数据库类型 -ForegroundColor Yellow
write-host h : 表示主机地址 -ForegroundColor Yellow
write-host u : 表示登录数据库的账号 -ForegroundColor Yellow
write-host p : 表示登录数据库的密码 -ForegroundColor Yellow
write-host d : 表示默认访问的数据库名 -ForegroundColor Yellow
write-host d : 表示连接数据库所使用的字符集 -ForegroundColor Yellow
exit
}
}
}
#endregion
#region 数据库操作函数 _odb_
function _odb_
{
param
(
$funName, #执行的函数名
$sql #执行的sql脚本
)
#====从配置函数c中,获取配置信息
$dbtpye=c t
$server=c h
$uid=c u
$pwd=c p
$DBName=c d
$char=c c
#====验证数据库类型,创建数据库对象
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 '数据库连接错误!'
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
#判断传入值,并执行相应函数
switch($funName){
'_exec_'{_exec_;break}
'_get_'{_get_;break}
}
$conn.Close()
}
#endregion
调用
_odb_ _get_ sql 有返回值
或
_odb_ _exec_ sql 无返回值
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网页空间、营销软件、网站建设、
达茂旗网站维护、网站推广。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:powershell之数据库操作-创新互联
网站链接:
http://cdweb.net/article/csihpd.html