我正在尝试编写一个执行一些 db2 工作的 bash 脚本。我面临的问题是子外壳需要重新连接 db2 连接。
不幸的是,每次重新连接都很慢,因为需要建立大约 1000 个新连接,每个需要大约一秒钟。因此,我希望避免这些子外壳重新连接。
通过谷歌搜索这种情况,我发现有一种方法可以使用变量 DB2DBDFT 设置默认连接模式。不幸的是,使用这个设置,Linux 登录用户名将成为您正在运行的 DB 模式名称,而我们的系统与登录 bash 的用户具有不同的 DB 用户名。
1)有没有办法设置 DB2DBDFT 变量,但使它可以使用“使用 123 的用户 abc”样式语法,或者如果有其他变量可以设置这些(我已经搜索但没有找到它们) .
2)如果有,这真的会节省我的时间吗?显然,如果我找到一个解决方案,我将进行基准测试,但我不确定即使我找到了这个,它会更快,而且肯定会减慢所有其他子shell 的生成速度。
3)我对其他建议非常开放,我尝试过管道到while语句而不是调用子shell,但后来记住这有同样的问题。
例如
result=$(call_procedure "$get_sell_price_old_sql")
相对
call_procedure "$get_sell_price_old_sql" | while read result_
do
result=$result_
done
4)我确定还有其他我没有考虑过的途径,非常感谢任何建议和建议。
非常感谢,米奇。