当前位置: 代码迷 >> DB2 >> shell函数访问db2有关问题
  详细解决方案

shell函数访问db2有关问题

热度:5774   发布时间:2013-02-26 00:00:00.0
shell函数访问db2问题
有哪位大侠了解shell连接、访问db2的。

小弟这里有段代码,总是不能正确执行,请大侠指教!

代码的功能就是从db2的表里查询一个字段,如果该字段为1,表示系统正在运行。

现在执行到SDATA=`db2 -x "select run_flag from sys_datactl"`时,
$SDATA的值为:sql1024n a database connection does not exist
而我期望$SDATA得到的是run_flag 字段的值:0或1



代码如下:

#!/bin/sh

CheckRunState()
{
db2 connect to 实例名 user 用户名 using 密码 > /dev/null 


#执行语句,-x去掉列头
SDATA=`db2 -x "select run_flag from sys_datactl"`


db2 quit > /dev/null 


#截取字符串
SDATA=${SDATA:0:1}


MESSAGE="system message"
MESS=0

if [ "$SDATA"x == "1"x ]
then
MESSAGE="系统正在运行中"
MESS=1
fi; 


echo $MESSAGE


exit $MESS
}


CheckResult=`CheckRunState`
CmpasRunFlag=$?
echo $CheckResult
echo $CmpasRunFlag

------解决方案--------------------------------------------------------
一个db2 一个会话 不同db2之间的会话不通用 所以会报未连接数据库的错误信息
------解决方案--------------------------------------------------------
你把db2 quit放到最后,看看行不行。
  相关解决方案