# it works fine
db2 connect to <db_name> user <user> using <passwd>
while read aline
do
    tab=$(echo $aline | awk -F',' '{print $1}')
    col=$(echo $aline | awk -F',' '{print $2}')
    max_id=$(db2 -x "select count($col) from $tab")
    echo $tab   $col   $max_id
done < tab.ls
# it doesn't work because of lost DB connection
db2 connect to <db_name> user <user> using <passwd>
cat tab.lst | while read aline
do
    tab=$(echo $aline | awk -F',' '{print $1}')
    col=$(echo $aline | awk -F',' '{print $2}')
    max_id=$(db2 -x "select count($col) from $tab")
    echo $tab   $col   $max_id
done我有两部分代码,两部分只有很小的差别,第一部分按预期运行,但第二部分没有。
似乎是管道导致了数据库连接的丢失。
有谁能解释一下为什么。
提前感谢!
顺便说一句:我在RH Linux6.6,bash上测试过
发布于 2017-01-21 20:31:17
DB2 documentation说:
别名一次只能连接到一个DB2数据库;但是,通过使用
参数来区分连接,可以使用多个connect语句连接到多个DB2数据源。
在上面的示例中,您连接了两次。请考虑重置或终止连接:
db2 connection reset或
db2 terminatehttps://stackoverflow.com/questions/38690509
复制相似问题