shell调用db2的问题请帮忙!

范佩西_11 2014-02-17 05:57:24
shell调用db2 写了两个函数,互为调用,但是一个跑不通另一个能跑通?
#!/bin/sh
DBSCHEMA="VASS2"
exec_sql()
{
db2 connect to dmdata
db2 set schema=$DBSCHEMA
echo $1
_exec=`db2 -x $1`
_exec_result=$?
echo $_exec_result
if [ $_exec_result -ne 0 ] && [ $_exec_result -ne 1 ]
then
echo "sql执行失败:$_exec"
return 1
else
return 0
echo "执行成功"
fi
}
create_table()
{
_exec_sql_value=`exec_sql "create table tab_$1(phone_num varchar(15)) not logged initially compress yes"`
_exec_sql_result=$?
echo ${_exec_sql_value}
if [ ${_exec_sql_result} -ne 0 ]
then
return 1
else
echo "执行成功"
return 0
fi
}
create_table "45678" ---通过create_table直接调用exec_sql函数
exec_sql "create table tab_45678(phone_num varchar(15)) not logged initially compress yes" ----直接调用


执行结果第一个create_table "45678" 报错,报DB2链接不存在
第二个exec_sql可以执行成功
执行结果:
Database Connection Information Database server = DB2/LINUXX8664 9.7.7 SQL authorization ID = CPCDATA Local database alias = DMDATA DB20000I The SQL command completed successfully. create table tab_45678(phone_num varchar(15)) not logged initially compress yes 4 sql执行失败:DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL1024N A database connection does not exist. SQLSTATE=08003

Database Connection Information

Database server = DB2/LINUXX8664 9.7.7
SQL authorization ID = CPCDATA
Local database alias = DMDATA

DB20000I The SQL command completed successfully.
create table tab_45678(phone_num varchar(15)) not logged initially compress yes
0
...全文
486 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
范佩西_11 2014-02-18
  • 打赏
  • 举报
回复
把这里改了下,db2 -x $1 重新写了下解决了,并且遇到了SQL0104N的问题搞了一下午 写到博客里供大家参考http://blog.sina.com.cn/s/blog_e9fac8540101rzcv.html 顺便来个人结贴给分!
范佩西_11 2014-02-17
  • 打赏
  • 举报
回复
_exec=`db2 -x $1` -----注这个地方直接db2 -x $1也可跑通 改成这样子是可以跑通的,但是我需要打印输出结果

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧