我有一个DB2脚本,可以先删除它,然后创建一些表空间和函数。我可以在目标数据库的DB2命令行中成功运行SQL脚本。
我需要在shell脚本中多次执行这个SQL脚本。它可以在第一次成功执行,然后在第二/第三次挂起。执行SQL脚本的命令非常简单: db2 CONNECT to ktest4 db2 -v -f SQL
我使用的是DB2 9.7.8和LINUX操作系统。当SQL脚本挂起时,我仍然可以在目标数据库的DB2命令行中手动成功地运行SQL脚本。
有人知道原因吗?谢谢。
高晓阳
发布于 2013-06-19 21:12:19
你确定DB2阻止了吗?您是否在命令之间放置了分号
db2 CONNECT TO ktest4 ; db2 -v -f /tmp/sql/application_system/opmdb2_privilege_remove.sql.5342为了跟踪执行,我建议您放置一些输出,以便检测它阻塞在哪里
date ; db2 -r /tmp/output.log CONNECT TO ktest4 ; db2 -r /tmp/output.log values current timestamp ; db2 -r /tmp/output.log -v -f /tmp/sql/application_system ; db2 -r /tmp/output.log values current timestamp ; db2 -r /tmp/output.log terminate使用这样的命令,您将保存所有输出,然后您可以检查错误所在。
https://stackoverflow.com/questions/17176440
复制相似问题