shell 連線DB2並執行查詢,刪除等操作
阿新 • • 發佈:2018-11-03
使用shell執行db2操作
#!/usr/bin/env sh DBNODE='dbname' DBUSER='db2inst1' DBPASSWORD='123456' #連線DB2 connDB2() { if( /home/db2inst1/sqllib/bin/db2 connect to $1 user $2 using $3 > /dev/null ) then echo 'OK' else echo "failed connect to ${DBNODE}" exit -1 fi } #釋放DB2連線 releaseDB2(){ /home/db2inst1/sqllib/bin/db2 connect reset > /dev/null } #查詢操作 selectTable(){ sql="SELECT ID,WORK_ID, JOB_ID, JOB_NAME, START_TIME, END_TIME ,DURATION,STATUS,DETAIL,DURATION FROM RAZOR_JOBS" /home/db2inst1/sqllib/bin/db2 -x ${sql}| while read ID WORK_ID JOB_ID JOB_NAME START_TIME END_TIME DURATION STATUS DETAIL DURATION do echo "Result: ${ID}|${WORK_ID}|${JOB_ID}|${JOB_NAME}|${START_TIME}|${END_TIME}|${DURATION}|${STATUS}|${DETAIL}|${DURATION}" done sql2="SELECT COUNT(*) JOB_COUNT FROM RAZOR_JOBS" /home/db2inst1/sqllib/bin/db2 -x ${sql2}| while read JOB_COUNT do echo "job_COUNT : ${JOB_COUNT} " done sql1="SELECT COUNT(*) WORK_COUNT FROM RAZOR_WORKS " /home/db2inst1/sqllib/bin/db2 -x ${sql1} | while read WORK_COUNT do echo "WORK_COUNT : ${WORK_COUNT}" done } #刪除操作 deleteTable(){ sql="DELETE RAZOR_JOBS" /home/db2inst1/sqllib/bin/db2 -x ${sql} sql1="DELETE RAZOR_WORKS" /home/db2inst1/sqllib/bin/db2 -x ${sql1} } #測試執行 run(){ connDB2 ${DBNODE} ${DBUSER} ${DBPASSWORD} selectTable deleteTable echo "==========================delete=============================" selectTable releaseDB2 } echo "execute sql ................." run